diff --git a/src/main/java/info/istlab/ServerTester/MulticastReceiver.java b/src/main/java/info/istlab/ServerTester/MulticastReceiver.java index 8b5f9f1..d922a70 100644 --- a/src/main/java/info/istlab/ServerTester/MulticastReceiver.java +++ b/src/main/java/info/istlab/ServerTester/MulticastReceiver.java @@ -60,7 +60,7 @@ if (remoteHostsWindow != null) { remoteHostsWindow.updateData(addr, message); - remoteHostsWindow.frame.pack(); + remoteHostsWindow.packIfNotResized(); } } } @@ -80,6 +80,8 @@ public void openWindow() { if (remoteHostsWindow != null) { + remoteHostsWindow.autoPack = true; + remoteHostsWindow.packIfNotResized(); remoteHostsWindow.frame.setVisible(true); } else { remoteHostsWindow = new RemoteHostsWindow(receivedData); diff --git a/src/main/java/info/istlab/ServerTester/NetworkInterfaceSelector.java b/src/main/java/info/istlab/ServerTester/NetworkInterfaceSelector.java index 8c4284f..36ea870 100644 --- a/src/main/java/info/istlab/ServerTester/NetworkInterfaceSelector.java +++ b/src/main/java/info/istlab/ServerTester/NetworkInterfaceSelector.java @@ -93,12 +93,12 @@ NetworkInterface networkInterface = interfaces.nextElement(); // インターフェース名と表示名を出力 - System.out.println("Name: " + networkInterface.getName()); - System.out.println("Display Name: " + networkInterface.getDisplayName()); - System.out.println("Up: " + networkInterface.isUp()); - System.out.println("Loopback: " + networkInterface.isLoopback()); - System.out.println("Virtual: " + networkInterface.isVirtual()); - System.out.println("Supports Multicast: " + networkInterface.supportsMulticast()); + // System.out.println("Name: " + networkInterface.getName()); + // System.out.println("Display Name: " + networkInterface.getDisplayName()); + // System.out.println("Up: " + networkInterface.isUp()); + // System.out.println("Loopback: " + networkInterface.isLoopback()); + // System.out.println("Virtual: " + networkInterface.isVirtual()); + // System.out.println("Supports Multicast: " + networkInterface.supportsMulticast()); // ループバックインターフェースは除外 if (networkInterface.isLoopback()) { continue; @@ -108,11 +108,11 @@ for (InterfaceAddress addr : addresses) { InetAddress inetAddr = addr.getAddress(); if (inetAddr instanceof java.net.Inet4Address) { // IPv4 アドレスのみ - System.out.println("IPv4 Address: " + inetAddr.getHostAddress()); + // System.out.println("IPv4 Address: " + inetAddr.getHostAddress()); ret.add(networkInterface); } } - System.out.println("----------------------------------------------------"); + // System.out.println("----------------------------------------------------"); } } catch (SocketException e) { e.printStackTrace(); diff --git a/src/main/java/info/istlab/ServerTester/RemoteHostsWindow.java b/src/main/java/info/istlab/ServerTester/RemoteHostsWindow.java index 381cee5..beaf172 100644 --- a/src/main/java/info/istlab/ServerTester/RemoteHostsWindow.java +++ b/src/main/java/info/istlab/ServerTester/RemoteHostsWindow.java @@ -2,6 +2,7 @@ import java.awt.Color; import java.awt.Desktop; +import java.awt.event.ComponentAdapter; import java.io.IOException; import java.net.URI; import java.net.URISyntaxException; @@ -19,6 +20,7 @@ JTabbedPane tabbedPane; Hashtable panels = new Hashtable(); JFrame frame; + boolean autoPack = true; // ウィンドウをリサイズしたら、falseにする。再度開いたときにtrueにする。 public RemoteHostsWindow(Hashtable receivedData) { frame = new JFrame(); @@ -31,6 +33,12 @@ frame.setVisible(false); } }); + frame.addComponentListener(new ComponentAdapter() { + @Override + public void componentResized(java.awt.event.ComponentEvent e) { + autoPack = false; + } + }); tabbedPane = new JTabbedPane(); frame.getContentPane().add(tabbedPane); @@ -60,6 +68,13 @@ tabbedPane.add(addr, rhp); panels.put(addr, rhp); } + packIfNotResized(); + } + + public void packIfNotResized() { + if (autoPack) { + frame.pack(); + } } }