使用Java:我有一个使用netbeans GUI构建器构建的GUI。
GUI类是通过扩展jFrame创建的public class ArduinoGUI extends 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();
}
最佳答案
如果还没有完成,请在您的类(这是JFRame的子类)中创建“ processWindowEvent”方法。该方法将WindowEvent对象作为参数。在该方法内添加一个if块,如下所示:
if(e.getID() == WindowEvent.WINDOW_CLOSING){
//...Do what you need to do just before closing
}
e是WindowEvent对象传递给方法的参数。