2017-04-18 50 views
1
@Override 
public void start(Stage primaryStage) { 

playerIsSelected = false; 
enemyIsSelected = false; 

大段引用可以被編譯,但是當我點擊退出按鈕,它顯示的錯誤爲:在線程異常「的JavaFX應用程序線程」的java.lang .NullPointerException.And退出按鈕單擊不會退出該窗口。了JavaFx stage.close()不工作

回答

1

代碼中沒有任何地方標識符stage已定義。但是,由於你的代碼正在編譯,我會假設這是在方法之外定義的。雖然,考慮到你已經調用了primaryStage.show();,那麼最終你可能會想要執行primaryStage.close();

變化這樣的:

public void exit(){ 
    stage.close(); //<-- cause of the NullPointerException 
} 

這樣:

public void exit(){ 
    primaryStage.close(); 
} 
+1

我實際上在開始方法添加 「階段= primaryStage」 和它被解決;非常感謝 – ninomi