JavaFx stage.close()不起作用

时间:2017-04-18 04:18:03

标签: java

@Override 
public void start(Stage primaryStage) {  

playerIsSelected = false;
enemyIsSelected = false;
  

Blockquote可以编译,但是当我单击EXIT按钮时,它显示错误为:线程“JavaFX应用程序线程”中的异常java.lang.NullPointerException.And单击“退出”按钮不会退出窗口。 / p>

1 个答案:

答案 0 :(得分:1)

您的代码中没有任何地方定义了标识符stage。但是,由于您的代码正在编译,我认为这是在方法之外定义的。但是,考虑到您已调用primaryStage.show();,最终您可能希望执行primaryStage.close();

改变这个:

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

到此:

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