JavaFX 監(jiān)聽窗口關(guān)閉事件實(shí)例詳解
1.寫在前面
在JavaFX的程序開發(fā)的時(shí)候,在使用多線程的時(shí)候,默認(rèn)情況下在程序退出的時(shí)候,新開的線程依然在后臺(tái)運(yùn)行。
在這種情況下,可以監(jiān)聽窗口關(guān)閉事件,在里面關(guān)閉子線程。
2.具體實(shí)現(xiàn)的樣例
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("監(jiān)聽到窗口關(guān)閉");
}
});
}
public static void main(String[] args) {
launch(args);
}
}
其中,這個(gè)就是具體監(jiān)聽窗口關(guān)閉的具體實(shí)現(xiàn):
primaryStage.setOnCloseRequest(new EventHandler<WindowEvent>() {
@Override
public void handle(WindowEvent event) {
System.out.print("監(jiān)聽到窗口關(guān)閉");
}
});
3.效果
在點(diǎn)擊窗口關(guān)閉按鈕的時(shí)候,控制臺(tái)會(huì)輸出

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
- java開發(fā)gui教程之jframe監(jiān)聽窗體大小變化事件和jframe創(chuàng)建窗體
- Java添加事件監(jiān)聽的四種方法代碼實(shí)例
- JAVA用戶自定義事件監(jiān)聽實(shí)例代碼
- Java Swing中JList選擇事件監(jiān)聽器ListSelectionListener用法示例
- java實(shí)現(xiàn)table添加右鍵點(diǎn)擊事件監(jiān)聽操作示例
- Java事件監(jiān)聽機(jī)制講解
- java-RGB調(diào)色面板的實(shí)現(xiàn)(事件監(jiān)聽器之匿名內(nèi)部類)
- java中接口和事件監(jiān)聽器的深入理解
- Java基礎(chǔ)學(xué)習(xí)之Swing事件監(jiān)聽
- Java?Spring?事件監(jiān)聽詳情解析
相關(guān)文章
淺析Java設(shè)計(jì)模式編程中的單例模式和簡(jiǎn)單工廠模式
這篇文章主要介紹了淺析Java設(shè)計(jì)模式編程中的單例模式和簡(jiǎn)單工廠模式,使用設(shè)計(jì)模式編寫代碼有利于團(tuán)隊(duì)協(xié)作時(shí)程序的維護(hù),需要的朋友可以參考下2016-01-01
如何為Spark Application指定不同的JDK版本詳解
這篇文章主要給大家介紹了關(guān)于如何為Spark Application指定不同的JDK版本的相關(guān)資料,文中通過示例代碼將解決的方法介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友下面來隨著小編一起學(xué)習(xí)學(xué)習(xí)吧。2017-11-11
Java設(shè)計(jì)模式七大原則之單一職責(zé)原則詳解
單一職責(zé)原則(Single Responsibility Principle, SRP),有且僅有一個(gè)原因引起類的變更。簡(jiǎn)單來說,就是針對(duì)一個(gè)java類,它應(yīng)該只負(fù)責(zé)一項(xiàng)職責(zé)。本文將詳細(xì)介紹一下Java設(shè)計(jì)模式七大原則之一的單一職責(zé)原則,需要的可以參考一下2022-02-02
Java concurrency線程池之線程池原理(三)_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要為大家詳細(xì)介紹了Java concurrency線程池之線程池原理第三篇,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06

