繁体   English   中英

JavaFX FXML无法在Mac OS中正确加载

[英]JavaFX FXML not loading correctly in Mac OS

我在运行Mac OS的项目成员中加载FXML时遇到问题。 我对Java代码中的整个JavaFX加载过程还很陌生,但这是我现在的代码设置方式。 该类称为ControlPanel.java,fxml为controlPanel.fxml,它包含onAction#方法,并且我使用ControlPanel.java作为这些方法的控制器。 它在Windows操作系统上完全可以正常工作,但是当我们尝试在Eclipse中运行它时,它将打开但不显示任何内容。 只是想知道我做错了什么。 我在顶层文档中定义了一个控制器,它是anchorPane fx:controller =“ project.fx.ControlPanel”

public static void main(String[] args) {
    Application.launch(ControlPanel.class, (java.lang.String[])null);
}

@Override
public void start(Stage primaryStage) {
    try {

        Parent page = (Parent) FXMLLoader.load(getClass().getResource("controlPanel.fxml"), null, new JavaFXBuilderFactory());

        Scene scene = new Scene(page);
        primaryStage.initStyle(StageStyle.TRANSPARENT);
        primaryStage.setScene(scene);
        primaryStage.show();
    } catch (Exception ex) {
        Logger.getLogger(ControlPanel.class.getName()).log(Level.SEVERE, null, ex);
    }

}

@FXML
protected void doSomething() {
    System.out.println("Done something");
}

首先,您要创建ControlPanel的第二个实例(通过Application.launch()创建的第一个ist)。 因此,您应该设置控制器实例或使用其他类作为控件。

我们需要查看更多代码来说明为什么它不能在Mac上运行但在Windows上运行

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM