在我的程序中,我想在其他类的子线程中运行Class.Stage.setScene(scene)。示例:
public class GUI extends Application{
Stage window;
Scene mainScene;
Scene secondScene;
//mainscene variables/elements declared here
//secondscene variables/elements declared here
public void start(Stage primaryStage) throws Exception{
window = primaryStage;
window.setTitle("title");
//mainScene variables/elements/layout defined here
//secondScene variables/elements/layout defined here
mainScene = new Scene(border1, 640, 480);
secondScene = new Scene(border2, 640, 480);
window.setScene(mainScene);
window.show();
}
}
我想做以下事情:
Platform.runLater(GUI.window.setScene(GUI.window.secondScene));
但这需要类实现Runnable并覆盖run(),而我不知道如何在覆盖start()的类中做到这一点。
我也尝试过:
Task<Void> task = new Task<Void>() {
protected Void call() throws Exception {
GUI.window.setScene(GUI.guestLoginScene);
}
};
task.run();
Thread thread = new Thread(task);
thread.start();
它没有错误,但是什么也没发生。