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

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
- java開(kāi)發(fā)gui教程之jframe監(jiān)聽(tīng)窗體大小變化事件和jframe創(chuàng)建窗體
- Java添加事件監(jiān)聽(tīng)的四種方法代碼實(shí)例
- JAVA用戶(hù)自定義事件監(jiān)聽(tīng)實(shí)例代碼
- Java Swing中JList選擇事件監(jiān)聽(tīng)器ListSelectionListener用法示例
- java實(shí)現(xiàn)table添加右鍵點(diǎn)擊事件監(jiān)聽(tīng)操作示例
- Java事件監(jiān)聽(tīng)機(jī)制講解
- java-RGB調(diào)色面板的實(shí)現(xiàn)(事件監(jiān)聽(tīng)器之匿名內(nèi)部類(lèi))
- java中接口和事件監(jiān)聽(tīng)器的深入理解
- Java基礎(chǔ)學(xué)習(xí)之Swing事件監(jiān)聽(tīng)
- Java?Spring?事件監(jiān)聽(tīng)詳情解析
相關(guān)文章
Java SpringMVC攔截器與異常處理機(jī)制詳解分析
SpringMVC是一種基于Java,實(shí)現(xiàn)了Web MVC設(shè)計(jì)模式,請(qǐng)求驅(qū)動(dòng)類(lèi)型的輕量級(jí)Web框架,即使用了MVC架構(gòu)模式的思想,將Web層進(jìn)行職責(zé)解耦?;谡?qǐng)求驅(qū)動(dòng)指的就是使用請(qǐng)求-響應(yīng)模型,框架的目的就是幫助我們簡(jiǎn)化開(kāi)發(fā),SpringMVC也是要簡(jiǎn)化我們?nèi)粘eb開(kāi)發(fā)2021-10-10
Lombok為啥這么牛逼?SpringBoot和IDEA官方都要支持它
Lombok是一款Java代碼功能增強(qiáng)庫(kù),在Github上已有9.8k+Star。這篇文章主要介紹了Lombok為啥這么牛逼?SpringBoot和IDEA官方都要支持它,需要的朋友可以參考下2020-12-12
Java日志框架用法及常見(jiàn)問(wèn)題解決方案
這篇文章主要介紹了Java日志框架用法及常見(jiàn)問(wèn)題解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-10-10
Java設(shè)計(jì)模式之外觀模式的實(shí)現(xiàn)方式
這篇文章主要介紹了Java設(shè)計(jì)模式之外觀模式的實(shí)現(xiàn)方式,外觀模式隱藏系統(tǒng)的復(fù)雜性,并向客戶(hù)端提供了一個(gè)客戶(hù)端可以訪問(wèn)系統(tǒng)的接口,這種類(lèi)型的設(shè)計(jì)模式屬于結(jié)構(gòu)型模式,它向現(xiàn)有的系統(tǒng)添加一個(gè)接口,來(lái)隱藏系統(tǒng)的復(fù)雜性,需要的朋友可以參考下2023-11-11
Curator實(shí)現(xiàn)zookeeper的節(jié)點(diǎn)監(jiān)聽(tīng)詳解
這篇文章主要介紹了Curator實(shí)現(xiàn)zookeeper的節(jié)點(diǎn)監(jiān)聽(tīng)詳解,Curtor框架中一共有三個(gè)實(shí)現(xiàn)監(jiān)聽(tīng)的方式,一種是NodeCache監(jiān)聽(tīng)指定節(jié)點(diǎn),一種是pathChildrenCache監(jiān)聽(tīng)子節(jié)點(diǎn),一種是TreeCache可以監(jiān)控所有節(jié)點(diǎn) 相當(dāng)于以上兩種的合集,需要的朋友可以參考下2023-12-12
SpringBoot和Vue實(shí)現(xiàn)動(dòng)態(tài)二維碼的示例代碼
二維碼在現(xiàn)代社交和營(yíng)銷(xiāo)活動(dòng)中被廣泛使用,本文主要介紹了SpringBoot和Vue實(shí)現(xiàn)動(dòng)態(tài)二維碼的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-02-02

