[英]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.