diff options
author | Keith Packard <keithp@keithp.com> | 2010-11-25 17:29:28 -0800 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2010-11-25 17:29:28 -0800 |
commit | b8f05cdc0e9b4a96852eed9d38ff6d5950e2d2ed (patch) | |
tree | 5543c71cc0d0b73343a1980aa6d7cd5970d70cb2 /altosui/AltosFlashUI.java | |
parent | adbb14c63d85b7a54223f88ac623571456f4a462 (diff) |
altosui: Clean up flash code to ensure swing gets called from right thread
This moves all of the flash code to a separate thread and passes
messages back to the swing thread to keep the UI up to date.
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'altosui/AltosFlashUI.java')
-rw-r--r-- | altosui/AltosFlashUI.java | 25 |
1 files changed, 12 insertions, 13 deletions
diff --git a/altosui/AltosFlashUI.java b/altosui/AltosFlashUI.java index 0b61f041..0302ccd3 100644 --- a/altosui/AltosFlashUI.java +++ b/altosui/AltosFlashUI.java @@ -49,13 +49,21 @@ public class AltosFlashUI public void actionPerformed(ActionEvent e) { if (e.getSource() == cancel) { - abort(); + setVisible(false); dispose(); } else { String cmd = e.getActionCommand(); - if (cmd.equals("done")) - ; - else if (cmd.equals("start")) { + if (e.getID() == -1) { + JOptionPane.showMessageDialog(frame, + e.getActionCommand(), + file.toString(), + JOptionPane.ERROR_MESSAGE); + setVisible(false); + dispose(); + } else if (cmd.equals("done")) { + setVisible(false); + dispose(); + } else if (cmd.equals("start")) { setVisible(true); } else { pbar.setValue(e.getID()); @@ -64,11 +72,6 @@ public class AltosFlashUI } } - public void abort() { - if (flash != null) - flash.abort(); - } - public void build_dialog() { GridBagConstraints c; Insets il = new Insets(4,4,4,4); @@ -186,7 +189,6 @@ public class AltosFlashUI file_value.setText(file.toString()); setVisible(true); flash.flash(); - flash = null; } } catch (FileNotFoundException ee) { JOptionPane.showMessageDialog(frame, @@ -205,9 +207,6 @@ public class AltosFlashUI file.toString(), JOptionPane.ERROR_MESSAGE); } catch (InterruptedException ie) { - } finally { - abort(); } - dispose(); } }
\ No newline at end of file |