欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JavaFX 监听窗口关闭事件实例详解

程序员文章站 2024-02-20 16:10:10
1.写在前面 在javafx的程序开发的时候,在使用多线程的时候,默认情况下在程序退出的时候,新开的线程依然在后台运行。 在这种情况下,可以监听窗口关闭事件,在里...

1.写在前面

在javafx的程序开发的时候,在使用多线程的时候,默认情况下在程序退出的时候,新开的线程依然在后台运行。

在这种情况下,可以监听窗口关闭事件,在里面关闭子线程。

2.具体实现的样例

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);
  }
}

其中,这个就是具体监听窗口关闭的具体实现:

   primarystage.setoncloserequest(new eventhandler<windowevent>() {
      @override
      public void handle(windowevent event) {
        system.out.print("监听到窗口关闭");
      }
    });

3.效果

在点击窗口关闭按钮的时候,控制台会输出

JavaFX 监听窗口关闭事件实例详解

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!