[英]Trying to launch a new FXML file in javaFX using a method call
我正在嘗試使用一種方法調用另一個fxml頁面,但出現以下錯誤。
java.lang.IllegalStateException:不在FX應用程序線程上; com.sun.javafx.tk.Toolkit.checkFxUserThread(Toolkit.java:236)處的currentThread = AWT-EventQueue-0 com.sun.javafx.tk.Toolkit.checkFxUserThread(Toolkit.java:236)處的currentThread = AWT-EventQueue-0。 java.xtk.quantum.QuantumToolkit.checkFxUserThread(QuantumToolkit.java:423)在javafx.stage.Stage。(Stage.java:241)在javafx.stage.Stage。(Stage.java:227)在thebio.MainController.StudentRegistration (MainController.java:134)
下面的方法是我用來進行此活動的一種方法,我不知道我在哪里弄錯了,任何幫助都將不勝感激。
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();
}
}
謝謝。
使用平台#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();
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.