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 SpringMVC攔截器與異常處理機(jī)制詳解分析
SpringMVC是一種基于Java,實(shí)現(xiàn)了Web MVC設(shè)計(jì)模式,請(qǐng)求驅(qū)動(dòng)類型的輕量級(jí)Web框架,即使用了MVC架構(gòu)模式的思想,將Web層進(jìn)行職責(zé)解耦?;谡?qǐng)求驅(qū)動(dòng)指的就是使用請(qǐng)求-響應(yīng)模型,框架的目的就是幫助我們簡化開發(fā),SpringMVC也是要簡化我們?nèi)粘eb開發(fā)2021-10-10
Lombok為啥這么牛逼?SpringBoot和IDEA官方都要支持它
Lombok是一款Java代碼功能增強(qiáng)庫,在Github上已有9.8k+Star。這篇文章主要介紹了Lombok為啥這么牛逼?SpringBoot和IDEA官方都要支持它,需要的朋友可以參考下2020-12-12
Java設(shè)計(jì)模式之外觀模式的實(shí)現(xiàn)方式
這篇文章主要介紹了Java設(shè)計(jì)模式之外觀模式的實(shí)現(xiàn)方式,外觀模式隱藏系統(tǒng)的復(fù)雜性,并向客戶端提供了一個(gè)客戶端可以訪問系統(tǒng)的接口,這種類型的設(shè)計(jì)模式屬于結(jié)構(gòu)型模式,它向現(xiàn)有的系統(tǒng)添加一個(gè)接口,來隱藏系統(tǒng)的復(fù)雜性,需要的朋友可以參考下2023-11-11
Curator實(shí)現(xiàn)zookeeper的節(jié)點(diǎn)監(jiān)聽詳解
這篇文章主要介紹了Curator實(shí)現(xiàn)zookeeper的節(jié)點(diǎn)監(jiān)聽詳解,Curtor框架中一共有三個(gè)實(shí)現(xiàn)監(jiān)聽的方式,一種是NodeCache監(jiān)聽指定節(jié)點(diǎn),一種是pathChildrenCache監(jiān)聽子節(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)代社交和營銷活動(dòng)中被廣泛使用,本文主要介紹了SpringBoot和Vue實(shí)現(xiàn)動(dòng)態(tài)二維碼的示例代碼,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-02-02

