X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=altosui%2FAltosIdleMonitorUI.java;h=0230ff2f767959a2c73301e4c5d2ae21748a26e4;hp=67b7a9897717a2aea529ae383916babb946ffdda;hb=b0e903a76276e33f531eade42ac721c9490c6758;hpb=ef00182c79bd7a56fbc5d782cb8f4aa0079bb86f diff --git a/altosui/AltosIdleMonitorUI.java b/altosui/AltosIdleMonitorUI.java index 67b7a989..0230ff2f 100644 --- a/altosui/AltosIdleMonitorUI.java +++ b/altosui/AltosIdleMonitorUI.java @@ -102,6 +102,15 @@ public class AltosIdleMonitorUI extends AltosUIFrame implements AltosFlightDispl SwingUtilities.invokeLater(r); } + public void failed() { + Runnable r = new Runnable() { + public void run() { + close(); + } + }; + SwingUtilities.invokeLater(r); + } + Container bag; AltosUIFreqList frequencies; JTextField callsign_value; @@ -174,6 +183,19 @@ public class AltosIdleMonitorUI extends AltosUIFrame implements AltosFlightDispl } } + private void close() { + try { + disconnect(); + } catch (Exception ex) { + System.out.printf("Exception %s\n", ex.toString()); + for (StackTraceElement el : ex.getStackTrace()) + System.out.printf("%s\n", el.toString()); + } + setVisible(false); + dispose(); + AltosUIPreferences.unregister_font_listener(AltosIdleMonitorUI.this); + } + public AltosIdleMonitorUI(JFrame in_owner) throws FileNotFoundException, TimeoutException, InterruptedException { @@ -184,9 +206,10 @@ public class AltosIdleMonitorUI extends AltosUIFrame implements AltosFlightDispl serial = device.getSerial(); - AltosLink link; + AltosSerial link; try { link = new AltosSerial(device); + link.set_frame(this); } catch (Exception ex) { idle_exception(in_owner, ex); return; @@ -248,16 +271,7 @@ public class AltosIdleMonitorUI extends AltosUIFrame implements AltosFlightDispl addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { - try { - disconnect(); - } catch (Exception ex) { - System.out.printf("Exception %s\n", ex.toString()); - for (StackTraceElement el : ex.getStackTrace()) - System.out.printf("%s\n", el.toString()); - } - setVisible(false); - dispose(); - AltosUIPreferences.unregister_font_listener(AltosIdleMonitorUI.this); + close(); } });