无法初始化类javafx.stage.screen

无法初始化类javafx.stage.screen,java,javafx,Java,Javafx,我正在尝试启动2个javaFX应用程序,显然每个JVM只能调用一次应用程序#launch()。 浏览之后,有人告诉我手动创建一个场景,并为第二个应用程序调用Application#start(),我这样做了: public class Launcher extends Application { private Stage primaryStage; @Override public void start(Stage primaryStage) throws Exception {

我正在尝试启动2个javaFX应用程序,显然每个JVM只能调用一次应用程序#launch()。 浏览之后,有人告诉我手动创建一个场景,并为第二个应用程序调用Application#start(),我这样做了:

public class Launcher extends Application {

private Stage primaryStage;

@Override
public void start(Stage primaryStage) throws Exception {
    this.primaryStage = primaryStage;
    this.primaryStage.setResizable(false);
    this.primaryStage.setTitle("title");
    initLayout();
}

public void initLayout() throws IOException {
    Parent root = FXMLLoader.load(Launcher.class.getResource("myFile.fxml"));
    Scene scene = new Scene(root, 450, 300);
    this.primaryStage.setScene(scene);
    this.primaryStage.show();
}
}
并(从另一个类)加载:

虽然这会导致一个错误的说法

Exception in thread "Thread_number" java.lang.NoClassDefFoundError: Could not initialize class javafx.stage.Screen 
at javafx.stage.Window.<init><Unknown Source>
at javafx.stage.Stage.<init><Unknown Source>
at javafx.stage.Stage.<init><Unknown Source>
at javafx.stage.Stage.<init><Unknown Source>
at classILaunchedFrom.methodLaunchedFrom<Main.java:lineNumber>
线程“thread_number”java.lang.NoClassDefFoundError中出现异常:无法初始化类javafx.stage.Screen 在javafx.stage.Window中。 在javafx.stage.stage。 在javafx.stage.stage。 在javafx.stage.stage。 在ClassLaunchedFrom.methodLaunchedFrom
有谁知道我做错了什么,因为我在这里完全不知所措。现在使用javaFX破解我的脑袋太久了。

为什么要完全分离应用程序?只需为第二个窗口创建一个扩展stage的类,然后从主javafx应用程序线程内部调用它的.show()方法。Javafx在做事情时相当挑剔,一次只有一个应用程序实例,所有工作都必须在同一个线程上完成,等等。

不要创建主阶段。它应该由JavaFX应用程序线程为您创建。@Win.ubuntu,这是您使用应用程序#launch()时创建的,但据我所知,这不是我的方式。
Exception in thread "Thread_number" java.lang.NoClassDefFoundError: Could not initialize class javafx.stage.Screen 
at javafx.stage.Window.<init><Unknown Source>
at javafx.stage.Stage.<init><Unknown Source>
at javafx.stage.Stage.<init><Unknown Source>
at javafx.stage.Stage.<init><Unknown Source>
at classILaunchedFrom.methodLaunchedFrom<Main.java:lineNumber>