Starting with JavaFX 9 you can trigger the launch of the JavaFX platform “manually” using the public API. The only drawback is that the stop
method is not invoked the way it would be in application started via Application.launch
:
public class MainEntry {
public static void main(String[] args) {
Controller controller = new Controller();
final MainStage mainStage = new MainStage(controller);
mainStage.init();
Platform.startup(() -> {
// create primary stage
Stage stage = new Stage();
mainStage.start(stage);
});
}
}
The Runnable
passed to Platform.startup
is invoked on the JavaFX application thread.