diff --git a/src/main/java/info/istlab/IoTP/Launcher.java b/src/main/java/info/istlab/IoTP/Launcher.java index 3395a7d..cb5f9af 100644 --- a/src/main/java/info/istlab/IoTP/Launcher.java +++ b/src/main/java/info/istlab/IoTP/Launcher.java @@ -165,6 +165,8 @@ if (validSerialNames.size()>0){ serialMenu.addSeparator(); + JMenuItem label = new JMenuItem("使用するシリアルポートを選択"); + serialMenu.add(label); } // App.serialName があるかチェック。なければ nullにする。 boolean hasCurrent = false; // 以前の設定があるので、変更しない @@ -185,7 +187,7 @@ serialMenu.add(jcbmi); if (s.equals(App.serialName)){ jcbmi.setSelected(true); - jcbmi.setEnabled(false); + // jcbmi.setEnabled(false); } else { jcbmi.addActionListener(e -> chooseSerial(e)); } @@ -194,6 +196,9 @@ mi = new JMenuItem("シリアルモニタをすべて閉じる"); mi.addActionListener(ae -> SerialWindow.disposeAll()); serialMenu.add(mi); + mi = new JMenuItem("シリアルモニタをすべて開く"); + mi.addActionListener(ae -> SerialWindow.openAll()); + serialMenu.add(mi); } void chooseSerial(ActionEvent e){ diff --git a/src/main/java/info/istlab/IoTP/SerialWindow.java b/src/main/java/info/istlab/IoTP/SerialWindow.java index cd5b7ff..9a45538 100644 --- a/src/main/java/info/istlab/IoTP/SerialWindow.java +++ b/src/main/java/info/istlab/IoTP/SerialWindow.java @@ -318,6 +318,20 @@ } // SerialWindow.hash.clear(); } + public static void openAll() { + serialChecker.portHash.entrySet().forEach(ent -> { + String key = ent.getKey(); + SerialPort sp = ent.getValue(); + if (hash.get(key)!= null){ + SerialWindow swin = hash.get(key); + swin.setVisible(true); + swin.reconnect(); + } else { + new SerialWindow(sp); + } + }); + } + public static void disposeByName(String serialName) { for (String key : SerialWindow.hash.keySet()) { @@ -397,4 +411,5 @@ public void keyReleased(KeyEvent e) { } + }