也许这一定是一件非常简单的事情,但到目前为止,没有一个解决方案对我有用。所以最后的问题,也许是我没有考虑到的问题。
我想从 Netbeans 项目的 start 类的子包中加载 FXML 及其控制器。已经尝试了这里提到的许多不同问题的所有解决方案,但仍然没有奏效。
包结构:
Source Pacakge
-a
-b
-c
-d
StartUp_Classs.java
-ui
FXMLDocument.fxml
FXMLDocumentController.java
下面是启动方法:
@Override
public void start(Stage stage) throws Exception {
try {
setUserAgentStylesheet(STYLESHEET_MODENA);
FXMLLoader loader = new FXMLLoader();
Parent root = (Parent) loader.load(getClass().getResourceAsStream("/ui/FXMLDocument.fxml"));
final FXMLDocumentController controller = (FXMLDocumentController) loader.getController();
stage.addEventHandler(WindowEvent.WINDOW_SHOWN, controller::handleWindowShownEvent);
stage.addEventHandler(WindowEvent.WINDOW_SHOWING, controller::handleWindowShowingEvent);
Scene scene = new Scene(root);
stage.setScene(scene);
stage.setResizable(false);
stage.toFront();
stage.setTitle("Simple FXML");
stage.getIcons().add(new Image(getClass().getResourceAsStream("/resources/images/Orange.jpg")));
stage.show();
} catch (IOException iOException) {
iOException.printStackTrace();
}
}
任何建议,都会有很大帮助。