1.寫在前面
在JavaFX的程序開發(fā)的時候,在使用多線程的時候,默認(rèn)情況下在程序退出的時候,新開的線程依然在后臺運(yùn)行。
在這種情況下,可以監(jiān)聽窗口關(guān)閉事件,在里面關(guān)閉子線程。
2.具體實(shí)現(xiàn)的樣例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
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); } } |
其中,這個就是具體監(jiān)聽窗口關(guān)閉的具體實(shí)現(xiàn):
1
2
3
4
5
6
|
primaryStage.setOnCloseRequest( new EventHandler<WindowEvent>() { @Override public void handle(WindowEvent event) { System.out.print( "監(jiān)聽到窗口關(guān)閉" ); } }); |
3.效果
在點(diǎn)擊窗口關(guān)閉按鈕的時候,控制臺會輸出
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
原文鏈接:http://blog.csdn.net/huplion/article/details/52718372