如何从“start”方法外部打开辅助JavaFX窗口(阶段)?例如,
public class GUI_Test extends Application {
static Stage secondStage;
public static void main(String[] args) {
launch(args);
showSecondWin();
}
@Override
public void start(Stage primaryStage) throws Exception {
primaryStage.setScene(new Scene(
new VBox(
new Label("window 1"))));
primaryStage.show();
secondStage = new Stage();
}
public static void showSecondWin() {
secondStage.setScene(new Scene(
new VBox(
new Label("window 2"))));
secondStage.show();
}
}
上面的代码只显示第一个窗口(“primaryStage”),并且(仅)当我关闭它时会出现java.lang.reflect.InvocationTargetException
错误消息。
James_D说有办法从外面开始打开第二个窗口。如何实现这一目标?
答案 0 :(得分:3)
来自Application
的文档:
在应用程序退出之前,通过调用Platform.exit或所有应用程序窗口都已关闭,启动方法不会返回。
这意味着只有在JavaFX线程退出后才会调用main
方法中的第二行,因此您无法再创建任何阶段。
您可以在start
方法中创建并显示第二阶段。如果这不是有效选项,请尝试解释您要实现的目标。