1.写在前面
在JavaFX的程序开发的时候,在使用多线程的时候,默认情况下在程序退出的时候,新开的线程依然在后台运行。
在这种情况下,可以监听窗口关闭事件,在里面关闭子线程。
2.具体实现的样例
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( "监听到窗口关闭" );
}
});
}
public static void main( String [] args) {
launch(args);
}
}
|
其中,这个就是具体监听窗口关闭的具体实现:
1
2
3
4
5
6
|
primaryStage.setOnCloseRequest( new EventHandler<WindowEvent>() {
@Override
public void handle(WindowEvent event) {
System.out.print( "监听到窗口关闭" );
}
});
|
3.效果
在点击窗口关闭按钮的时候,控制台会输出
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
原文链接:http://blog.csdn.net/huplion/article/details/52718372