Mercurial > hg > release > thermostat-0.9
changeset 57:cad48fbe4e5a
show network interface information in a table
author | Omair Majid <omajid@redhat.com> |
---|---|
date | Thu, 26 Jan 2012 15:07:47 -0500 |
parents | 335a8653d206 |
children | d091ca03cead |
files | src/com/redhat/thermostat/client/strings.properties src/com/redhat/thermostat/client/ui/HostPanel.java src/com/redhat/thermostat/client/ui/SimpleTable.java |
diffstat | 3 files changed, 39 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/src/com/redhat/thermostat/client/strings.properties Thu Jan 26 11:55:52 2012 -0500 +++ b/src/com/redhat/thermostat/client/strings.properties Thu Jan 26 15:07:47 2012 -0500 @@ -69,7 +69,10 @@ HOST_INFO_OS_KERNEL = OS Kernel HOST_INFO_MEMORY_TOTAL = Total Memory HOST_INFO_NETWORK = Network -HOST_INFO_NETWORK_INTERFACE_ADDDRESS = {0} ({1} or {2}) + +NETWORK_INTERFACE_COLUMN = Interface +NETWORK_IPV4_COLUMN = IPv4 Address +NETWORK_IPV6_COLUMN = IPv6 Address HOST_CPU_SECTION_OVERVIEW = Processor HOST_CPU_USAGE_CHART_TITLE = Cpu Usage
--- a/src/com/redhat/thermostat/client/ui/HostPanel.java Thu Jan 26 11:55:52 2012 -0500 +++ b/src/com/redhat/thermostat/client/ui/HostPanel.java Thu Jan 26 15:07:47 2012 -0500 @@ -39,6 +39,7 @@ import static com.redhat.thermostat.client.Translate._; import java.awt.BorderLayout; +import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; @@ -51,7 +52,11 @@ import javax.swing.AbstractButton; import javax.swing.JCheckBox; import javax.swing.JPanel; +import javax.swing.JScrollPane; import javax.swing.JTabbedPane; +import javax.swing.JTable; +import javax.swing.table.DefaultTableModel; +import javax.swing.table.TableModel; import org.jfree.chart.ChartFactory; import org.jfree.chart.ChartPanel; @@ -127,16 +132,25 @@ entry = new TableEntry(_("HOST_INFO_MEMORY_TOTAL"), String.valueOf(hostInfo.getTotalMemory())); hardware.add(entry); - Key key = new Key(_("HOST_INFO_NETWORK")); - List<Value> values = new ArrayList<Value>(); + DefaultTableModel networkTableModel = new DefaultTableModel(); + networkTableModel.addColumn(_("NETWORK_INTERFACE_COLUMN")); + networkTableModel.addColumn(_("NETWORK_IPV4_COLUMN")); + networkTableModel.addColumn(_("NETWORK_IPV6_COLUMN")); for (Iterator<NetworkInterfaceInfo> iter = facade.getNetworkInfo().getInterfacesIterator(); iter.hasNext();) { NetworkInterfaceInfo networkInfo = iter.next(); String ifaceName = networkInfo.getInterfaceName(); String ipv4 = networkInfo.getIp4Addr(); String ipv6 = networkInfo.getIp6Addr(); - values.add(new Value(_("HOST_INFO_NETWORK_INTERFACE_ADDDRESS", ifaceName, ipv4, ipv6))); + networkTableModel.addRow(new Object[] {ifaceName, ipv4, ipv6}); } - hardware.add(new TableEntry(key, values)); + JTable networkTable = new JTable(networkTableModel); + + JPanel networkPanel = new JPanel(new BorderLayout()); + networkPanel.add(networkTable.getTableHeader(), BorderLayout.PAGE_START); + networkPanel.add(networkTable, BorderLayout.CENTER); + + Key key = new Key(_("HOST_INFO_NETWORK")); + hardware.add(new TableEntry(key, new Value(networkPanel))); Section software = new Section(_("HOST_OVERVIEW_SECTION_SOFTWARE")); allSections.add(software);
--- a/src/com/redhat/thermostat/client/ui/SimpleTable.java Thu Jan 26 11:55:52 2012 -0500 +++ b/src/com/redhat/thermostat/client/ui/SimpleTable.java Thu Jan 26 15:07:47 2012 -0500 @@ -120,14 +120,25 @@ public static class Value { private final String text; + private final Component actualComponent; public Value(String text) { this.text = text; + this.actualComponent = null; + } + + public Value(Component component) { + this.actualComponent = component; + this.text = null; } public String getText() { return text; } + public Component getComponent() { + return actualComponent; + } + } public static JPanel createTable(List<Section> sections) { @@ -148,6 +159,7 @@ keyConstraints.insets = valueConstraints.insets = rowInsets; keyConstraints.gridy = valueConstraints.gridy = 0; keyConstraints.gridx = 0; + keyConstraints.anchor = GridBagConstraints.FIRST_LINE_END; valueConstraints.gridx = 1; keyConstraints.fill = valueConstraints.fill = GridBagConstraints.HORIZONTAL; @@ -164,7 +176,11 @@ container.add(Components.label(tableEntry.getKey().getText()), keyConstraints); for (Value value : tableEntry.getValues()) { - container.add(Components.value(value.getText()), valueConstraints); + if (value.getComponent() == null) { + container.add(Components.value(value.getText()), valueConstraints); + } else { + container.add(value.getComponent(), valueConstraints); + } keyConstraints.gridy = ++valueConstraints.gridy; } }