JavaFX-在应用程序启动时打开多个窗口
有几个问题是关于如何在按下按钮时打开一个新窗口,但我想在应用程序启动时打开两个窗口 我当前的方法是将以下代码放入一个新类中,该类充当新窗口的控制器:JavaFX-在应用程序启动时打开多个窗口,java,javafx,window,Java,Javafx,Window,有几个问题是关于如何在按下按钮时打开一个新窗口,但我想在应用程序启动时打开两个窗口 我当前的方法是将以下代码放入一个新类中,该类充当新窗口的控制器: FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("secondWindow.fxml")); fxmlLoader.setController(this); try { parent = (Parent) fxmlLo
FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("secondWindow.fxml"));
fxmlLoader.setController(this);
try {
parent = (Parent) fxmlLoader.load();
scene = new Scene(parent, 500, 400);
stage = new Stage(scene);
stage.show();
} catch (IOException e) {
e.printStackTrace();
}
这对于按钮或基于事件的窗口打开非常有效,我希望同时启动两个窗口。因此,我想用main方法从类中启动第二个窗口。
在此类中,您可以找到使用以下代码启动的第一个窗口:
Parent root = FXMLLoader.load(getClass().getResource("FXMLDocument.fxml"));
Scene scene = new Scene(root);
stage.setScene(scene);
stage.show();
下面我想添加代码来启动第二个窗口。我试过:
Parent secondRoot = FXMLLoader.load(getClass().getResource("secondWindow.fxml"));
Scene secondScene = new Scene(secondRoot);
Stage secondStage = new Stage();
secondStage.setScene(secondScene);
secondStage.show();
据我所知,应该这样做,但它给出了以下错误:
java.lang.NoSuchMethodException: monopolybank.SecondWindowController.<init>()
at java.lang.Class.getConstructor0(Class.java:2971)
at java.lang.Class.newInstance(Class.java:403)
java.lang.NoSuchMethodException:monopolybank.SecondWindowController.()
位于java.lang.Class.getConstructor0(Class.java:2971)
位于java.lang.Class.newInstance(Class.java:403)
我如何修正我的方法或者有哪些替代方法可以获得相同的结果?您的问题与窗口的数量无关,而与您创建的monopolybank.SecondWindowController类中添加了参数的构造函数有关=>从该类中删除构造函数