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