diff --git a/pom.xml b/pom.xml index 30ef907..3347f94 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ info.istlab.IoTP IoTP jar - 0.53 + 0.54 IoTP http://maven.apache.org diff --git a/src/main/java/info/istlab/IoTP/App.java b/src/main/java/info/istlab/IoTP/App.java index 1397bbc..5a4611a 100644 --- a/src/main/java/info/istlab/IoTP/App.java +++ b/src/main/java/info/istlab/IoTP/App.java @@ -18,6 +18,8 @@ import java.security.ProtectionDomain; import java.util.ArrayList; +import javax.swing.SwingUtilities; + /** * Hello world! * @@ -66,7 +68,9 @@ System.exit(0); workingDir = ret.getAbsolutePath(); System.out.println(ret); - new Launcher(ret).setVisible(true); + SwingUtilities.invokeLater(() -> { + new Launcher(ret).setVisible(true);// SwingUtilities + }); } public static void findDotGitFileRecursive(File dir, ArrayList iotDirs, int level) { diff --git a/src/main/java/info/istlab/IoTP/Editor.java b/src/main/java/info/istlab/IoTP/Editor.java index ee48c3b..addbbd5 100644 --- a/src/main/java/info/istlab/IoTP/Editor.java +++ b/src/main/java/info/istlab/IoTP/Editor.java @@ -28,6 +28,7 @@ import javax.swing.JPanel; import javax.swing.JSlider; import javax.swing.JTextField; +import javax.swing.SwingUtilities; import javax.swing.WindowConstants; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; @@ -169,9 +170,11 @@ getContentPane().add(topP, BorderLayout.NORTH); - setVisible(true); - textArea.requestFocus(); - textArea.setCaretPosition(0); + SwingUtilities.invokeLater(() -> { + setVisible(true);// SwingUtilities + textArea.requestFocus(); + textArea.setCaretPosition(0); + }); lastOpened = this; } diff --git a/src/main/java/info/istlab/IoTP/JTAConsole.java b/src/main/java/info/istlab/IoTP/JTAConsole.java index 7f078fa..caee4a3 100644 --- a/src/main/java/info/istlab/IoTP/JTAConsole.java +++ b/src/main/java/info/istlab/IoTP/JTAConsole.java @@ -22,6 +22,7 @@ import java.util.Stack; import javax.swing.JFrame; +import javax.swing.SwingUtilities; import javax.swing.text.BadLocationException; import org.fife.ui.rtextarea.RTextScrollPane; @@ -63,7 +64,9 @@ winStack.push(this); originalContent = new StringBuilder(); - frame.setVisible(true); + SwingUtilities.invokeLater(()-> { + frame.setVisible(true); // SwingUtilities + }); } public void Systemoutprintln(String s) { diff --git a/src/main/java/info/istlab/IoTP/Launcher.java b/src/main/java/info/istlab/IoTP/Launcher.java index 4a7a04a..1541564 100644 --- a/src/main/java/info/istlab/IoTP/Launcher.java +++ b/src/main/java/info/istlab/IoTP/Launcher.java @@ -31,7 +31,7 @@ public class Launcher extends JFrame implements MouseInputListener, KeyListener, Runnable { public static Launcher theapp; - public static String version = "0.53"; + public static String version = "0.54"; static int reboot_msec = 2000; // JPanel mainP; File root; diff --git a/src/main/java/info/istlab/IoTP/MqttWindow.java b/src/main/java/info/istlab/IoTP/MqttWindow.java index e925722..f1258e1 100644 --- a/src/main/java/info/istlab/IoTP/MqttWindow.java +++ b/src/main/java/info/istlab/IoTP/MqttWindow.java @@ -23,6 +23,7 @@ import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.JTextField; +import javax.swing.SwingUtilities; import org.eclipse.paho.client.mqttv3.IMqttDeliveryToken; import org.eclipse.paho.client.mqttv3.MqttCallback; @@ -123,7 +124,9 @@ setSize(600, 500); setLocation(centerOfScreen(getSize())); - setVisible(true); + SwingUtilities.invokeLater(() -> { + setVisible(true);// SwingUtilities + }); setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); jtf.addActionListener(this); addWindowListener(this); // Xをおしたらserial closeする diff --git a/src/main/java/info/istlab/IoTP/SerialWindow.java b/src/main/java/info/istlab/IoTP/SerialWindow.java index 5455239..232a15f 100644 --- a/src/main/java/info/istlab/IoTP/SerialWindow.java +++ b/src/main/java/info/istlab/IoTP/SerialWindow.java @@ -21,6 +21,7 @@ import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.JTextField; +import javax.swing.SwingUtilities; import com.fazecast.jSerialComm.SerialPort; import com.fazecast.jSerialComm.SerialPortDataListener; @@ -74,6 +75,7 @@ // } } + static SerialWindow swin; public static void invoke(boolean popup_if_zero) { if (serialChecker == null) serialChecker = Launcher.theapp.serialChecker; @@ -83,13 +85,15 @@ JOptionPane.showMessageDialog(Launcher.theapp, "No available serial ports."); return; } - SerialWindow swin = hash.get(App.serialName); + swin = hash.get(App.serialName); if (swin == null) { SerialPort sp = serialChecker.portHash.get(App.serialName); swin = new SerialWindow(sp); } else { - swin.setVisible(true); - swin.reconnect(); + SwingUtilities.invokeLater(() -> { + swin.setVisible(true); //SwingUtilities + swin.reconnect(); + }); } // SerialPort[] ports = SerialPort.getCommPorts(); // ArrayList splist_valid = new ArrayList(); @@ -158,7 +162,9 @@ setSize(500, 400); setLocation(centerOfScreen(getSize())); - setVisible(true); + SwingUtilities.invokeLater(() -> { + setVisible(true);// SwingUtilities + }); setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); // この下のWindowListenerで処理する jtf.addActionListener(this); addWindowListener(this); // Xをおしたらserial closeする @@ -326,8 +332,10 @@ SerialPort sp = ent.getValue(); if (hash.get(key) != null) { SerialWindow swin = hash.get(key); - swin.setVisible(true); - swin.reconnect(); + SwingUtilities.invokeLater(() -> { + swin.setVisible(true); //SwingUtilities + swin.reconnect(); + }); } else { new SerialWindow(sp); }