程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> JavaFX 監聽窗口關閉事件實例詳解

JavaFX 監聽窗口關閉事件實例詳解

編輯:關於JAVA

1.寫在前面

在JavaFX的程序開發的時候,在使用多線程的時候,默認情況下在程序退出的時候,新開的線程依然在後台運行。

在這種情況下,可以監聽窗口關閉事件,在裡面關閉子線程。

2.具體實現的樣例

package sample;

import javafx.application.Application;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.event.EventHandler;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;
import javafx.stage.WindowEvent;

public class Main extends Application {

  @Override
  public void start(Stage primaryStage) throws Exception{
    Parent root = FXMLLoader.load(getClass().getResource("sample.fxml"));
    primaryStage.setTitle("Hello World");
    primaryStage.setScene(new Scene(root, 300, 275));
    primaryStage.show();

    primaryStage.setOnCloseRequest(new EventHandler<WindowEvent>() {
      @Override
      public void handle(WindowEvent event) {
        System.out.print("監聽到窗口關閉");
      }
    });
  }

  public static void main(String[] args) {
    launch(args);
  }
}

其中,這個就是具體監聽窗口關閉的具體實現:

   primaryStage.setOnCloseRequest(new EventHandler<WindowEvent>() {
      @Override
      public void handle(WindowEvent event) {
        System.out.print("監聽到窗口關閉");
      }
    });

3.效果

在點擊窗口關閉按鈕的時候,控制台會輸出

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved