I refactored my JavaFX legacy UI code into FXML. When I start my RCP 4 Application out of Eclipse, all is fine, and the FXML is loaded, but when I deployed my application, I get an exception that unable to load the .fxml file relative to the bundle name showed below.
To load FXMLi use the following FXML loader and as I said from Eclipse it works fine:
InjectingFXMLLoader<Parent> iFXMLLoader = InjectingFXMLLoader.create(context, Platform.getBundle(bundleName),
relativeLocation);
I exported all files, and now I don't know what to do anymore -.- Can anyone help me?
Update: I can now load the FXML and it works in Eclipse well. I use the following code below:
FXCanvas canvas = new FXCanvas(parent, SWT.None);
InjectingFXMLLoader<Parent> iFXMLLoader = InjectingFXMLLoader.create(context,
Platform.getBundle(StringTable.BUNDLE_NAME), "/ProjectExplorerView.fxml");
InjectingFXMLLoader.Data<Parent, Object> fxmlData;
try {
fxmlData = iFXMLLoader.loadWithController();
Scene scene = new Scene((BorderPane) fxmlData.getNode());
canvas.setScene(scene);
((ProjectExplorerViewController) fxmlData.getController()).initializeView(context, fileSystem, canvas);
} catch (IOException e) {
e.printStackTrace();
}
Now again in the deployed RCP Application, I get a new exception showed below:
question from:
https://stackoverflow.com/questions/66062377/fxml-loading-from-deployed-rcp4-application 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…