gpt4 book ai didi

java - 窗口关闭时调用函数

转载 作者:行者123 更新时间:2023-12-02 01:11:13 26 4
gpt4 key购买 nike

使用 Java:我有一个使用 netbeans GUI 构建器构建的 GUI。

GUI 类是通过扩展 jFrame 创建的

公共(public)类 ArduinoGUI 扩展 javax.swing.JFrame

并使用以下方式显示 GUI:

java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new ArduinoGUI().setVisible(true);
}
}

因此,我没有实际的框架对象来调用 frame.,那么在这种情况下我如何重写 windowClosed 函数,因为我必须在应用程序退出之前调用特定函数来清理串行连接。

编辑:这里是明确回答的代码:

@Override
public void processWindowEvent(WindowEvent e) {
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
arduino.close();
System.out.println("Arduino Close()");
dispose();
}

最佳答案

您可以在 windowClosing 方法上调用您的函数..

import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.WindowConstants;

class WindowEventHandler extends WindowAdapter {
public void windowClosing(WindowEvent evt) {
System.out.println("Call your method here");
}
}

public class TJFrame {

public static void main(String[] args) {
JFrame frame = new JFrame("Swing Frame");

JTextBox label = new JLabel("This is a Swing frame", JLabel.CENTER);

frame.add(label);

frame.addWindowListener(new WindowEventHandler());
frame.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
frame.setSize(350, 200); // width=350, height=200
frame.setVisible(true); // Display the frame
}

}

关于java - 窗口关闭时调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15499211/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com