2015-04-02 83 views
1

我要快點,因爲我沒有非常流利的英語,對不起。禁用舞臺按鈕X

我正在學習javafx,當我點擊X的窗口後關閉它,出現一個警告。我知道要在窗口中間創建的按鈕中這樣做,但我不知道如何控制用戶何時按下X關閉程序。由於

+0

你能發佈一些代碼嗎? – clearlight 2015-04-02 01:52:10

回答

5

你不應該集中在X,而是像這樣常見的關閉請求:

primaryStage.setOnCloseRequest(new EventHandler<WindowEvent>() { 
    @Override 
    public void handle(WindowEvent event) { 

     // consume event 
     event.consume(); 

     // show close dialog 
     Alert alert = new Alert(AlertType.CONFIRMATION); 
     alert.setTitle("Close Confirmation"); 
     alert.setHeaderText("Do you really want to quit?"); 
     alert.initOwner(primaryStage); 

     Optional<ButtonType> result = alert.showAndWait(); 
     if (result.get() == ButtonType.OK){ 
      Platform.exit(); 
     } 
    } 
}); 
+0

[Application javadoc](https://docs.oracle.com/javase/8/javafx/api/javafx/application/Application.html):「調用'Platform.exit()'是明確終止JavaFX應用程序直接調用'System.exit(int)'是可接受的選擇,但不允許運行應用程序'stop()'方法。「 – jewelsea 2015-04-02 08:21:11

+0

謝謝,我改變了它。 – Roland 2015-04-02 08:42:17

+0

它工作完美,謝謝! – D3KA 2015-04-02 10:44:57