我在运行 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");
}