gpt4 book ai didi

java - 尝试使用方法调用在 javaFX 中启动新的 FXML 文件

转载 作者:行者123 更新时间:2023-12-02 02:51:07 25 4
gpt4 key购买 nike

我尝试使用方法调用另一个 fxml 页面,但出现以下错误。

java.lang.IllegalStateException: Not on FX application thread; currentThread = AWT-EventQueue-0 at com.sun.javafx.tk.Toolkit.checkFxUserThread(Toolkit.java:236) at com.sun.javafx.tk.Toolkit.checkFxUserThread(Toolkit.java:236) at com.sun.javafx.tk.quantum.QuantumToolkit.checkFxUserThread(QuantumToolkit.java:423) at javafx.stage.Stage.(Stage.java:241) at javafx.stage.Stage.(Stage.java:227) at thebio.MainController.StudentRegistration(MainController.java:134)

下面的方法是我在进行此 Activity 时使用的方法,我不知道我哪里弄错了,请提供任何帮助,我们将不胜感激。

public void StudentRegistration(){
try {
Platform.setImplicitExit(false);
Parent root1;
root1 = FXMLLoader.load(getClass().getResource("Student.fxml"));
Stage stage = new Stage();
stage.setTitle("ABC");
stage.setScene(new Scene(root1));
stage.show();
} catch(Exception e) {
e.printStackTrace();
}
}

谢谢。

最佳答案

使用Platform#runLater非 GUI 线程更新GUI

Platform.runLater(()->{
Parent root1;
root1 = FXMLLoader.load(getClass().getResource("Student.fxml"));
Stage stage = new Stage();
stage.setTitle("ABC");
stage.setScene(new Scene(root1));
stage.show();
});

关于java - 尝试使用方法调用在 javaFX 中启动新的 FXML 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43834349/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com