aboutPanel.add(new JLabel((String)getPropertyValue((ConfigurableComponent)host, "Description")),
aboutPanel.add(new JLabel((String)getPropertyValue((ComponentProperties)host, "Description")),
  public void displayAbout() {    final ArrayList agentNames =       (ArrayList)getPropertyValue((ConfigurableComponent)node, "AgentNames");    JPanel aboutPanel = new JPanel();    aboutPanel.setLayout(new GridBagLayout());    int x = 0;    int y = 0;    // insets are top, left, bottom, right    aboutPanel.add(new JLabel("Status:"),                   new GridBagConstraints(x++, y, 1, 1, 0.0, 0.0,                                          GridBagConstraints.WEST,                                          GridBagConstraints.NONE,                                          new Insets(10, 0, 5, 5),                                          0, 0));    String status = ((NodeStatusButton)statusButton).getStatusDescription();    aboutPanel.add(new JLabel(status),                   new GridBagConstraints(x, y++, 1, 1, 1.0, 0.0,                                          GridBagConstraints.WEST,                                          GridBagConstraints.HORIZONTAL,                                          new Insets(10, 0, 5, 0),                                          0, 0));    x = 0;    aboutPanel.add(new JLabel("Notifications:"),                   new GridBagConstraints(x++, y, 1, 1, 0.0, 0.0,                                          GridBagConstraints.WEST,                                          GridBagConstraints.NONE,                                          new Insets(0, 0, 5, 5),                                          0, 0));    int notifyCount = consoleTextPane.getNotifyCount();    aboutPanel.add(new JLabel(Integer.toString(notifyCount)),                   new GridBagConstraints(x, y++, 1, 1, 1.0, 0.0,                                          GridBagConstraints.WEST,                                          GridBagConstraints.HORIZONTAL,                                          new Insets(0, 0, 5, 0),                                          0, 0));    x = 0;    aboutPanel.add(new JLabel("Log File:"),                   new GridBagConstraints(x++, y, 1, 1, 0.0, 0.0,                                          GridBagConstraints.WEST,                                          GridBagConstraints.NONE,                                          new Insets(0, 0, 5, 5),                                          0, 0));    aboutPanel.add(new JTextField(logFileName),                   new GridBagConstraints(x, y++, 1, 1, 1.0, 0.0,                                          GridBagConstraints.WEST,                                          GridBagConstraints.HORIZONTAL,                                          new Insets(0, 0, 5, 0),                                          0, 0));    x = 0;    aboutPanel.add(new JLabel("Host Name:"),                   new GridBagConstraints(x++, y, 1, 1, 0.0, 0.0,                                          GridBagConstraints.WEST,                                          GridBagConstraints.NONE,                                          new Insets(0, 0, 5, 5),                                          0, 0));    aboutPanel.add(new JLabel(hostName),                   new GridBagConstraints(x, y++, 1, 1, 1.0, 0.0,                                          GridBagConstraints.WEST,                                          GridBagConstraints.HORIZONTAL,                                          new Insets(0, 0, 5, 0),                                          0, 0));    x = 0;    aboutPanel.add(new JLabel("Host Address:"),                   new GridBagConstraints(x++, y, 1, 1, 0.0, 0.0,                                          GridBagConstraints.WEST,                                          GridBagConstraints.NONE,                                          new Insets(0, 0, 5, 5),                                          0, 0));    String hostAddress = "";    try {      InetAddress host = InetAddress.getByName(hostName);      hostAddress = host.toString();    } catch (UnknownHostException uhe) {    }    aboutPanel.add(new JLabel(hostAddress),                   new GridBagConstraints(x, y++, 1, 1, 1.0, 0.0,                                          GridBagConstraints.WEST,                                          GridBagConstraints.HORIZONTAL,                                          new Insets(0, 0, 5, 0),                                          0, 0));    x = 0;    aboutPanel.add(new JLabel("Host Type:"),                   new GridBagConstraints(x++, y, 1, 1, 0.0, 0.0,                                          GridBagConstraints.WEST,                                          GridBagConstraints.NONE,                                          new Insets(0, 0, 5, 5),                                          0, 0));    aboutPanel.add(new JLabel((String)getPropertyValue((ConfigurableComponent)host, "MachineType")),                   new GridBagConstraints(x, y++, 1, 1, 1.0, 0.0,                                          GridBagConstraints.WEST,                                          GridBagConstraints.HORIZONTAL,                                          new Insets(0, 0, 5, 0),                                          0, 0));    x = 0;    aboutPanel.add(new JLabel("Host Location:"),                   new GridBagConstraints(x++, y, 1, 1, 0.0, 0.0,                                          GridBagConstraints.WEST,                                          GridBagConstraints.NONE,                                          new Insets(0, 0, 5, 5),                                          0, 0));    aboutPanel.add(new JLabel((String)getPropertyValue((ConfigurableComponent)host, "Location")),                   new GridBagConstraints(x, y++, 1, 1, 1.0, 0.0,                                          GridBagConstraints.WEST,                                          GridBagConstraints.HORIZONTAL,                                          new Insets(0, 0, 5, 0),                                          0, 0));    x = 0;    aboutPanel.add(new JLabel("Host Description:"),                   new GridBagConstraints(x++, y, 1, 1, 0.0, 0.0,                                          GridBagConstraints.WEST,                                          GridBagConstraints.NONE,                                          new Insets(0, 0, 5, 5),                                          0, 0));    aboutPanel.add(new JLabel((String)getPropertyValue((ConfigurableComponent)host, "Description")),                   new GridBagConstraints(x, y++, 1, 1, 1.0, 0.0,                                          GridBagConstraints.WEST,                                          GridBagConstraints.HORIZONTAL,                                          new Insets(0, 0, 5, 0),                                          0, 0));    x = 0;    aboutPanel.add(new JLabel("Node Description: "),                   new GridBagConstraints(x++, y, 1, 1, 0.0, 0.0,                                          GridBagConstraints.WEST,                                          GridBagConstraints.NONE,                                          new Insets(0, 0, 5, 5),                                          0, 0));    aboutPanel.add(new JLabel((String)getPropertyValue((ConfigurableComponent)node, "Description")),                   new GridBagConstraints(x, y++, 1, 1, 1.0, 0.0,                                          GridBagConstraints.WEST,                                          GridBagConstraints.HORIZONTAL,                                          new Insets(0, 0, 5, 0),                                          0, 0));    x = 0;    // display -D options    aboutPanel.add(new JLabel("-D Options:"),                   new GridBagConstraints(x++, y, 1, 1, 0.0, 0.0,                                          GridBagConstraints.WEST,                                          GridBagConstraints.NONE,                                          new Insets(0, 0, 5, 5),                                          0, 0));    Properties properties = console.getNodeMinusD(node);    Vector data = new Vector();    //    Properties properties = node.getArguments();    Enumeration propertyNames = properties.propertyNames();    while (propertyNames.hasMoreElements()) {      String name = (String)propertyNames.nextElement();      Vector row = new Vector(2);      row.add(name);      row.add(properties.getProperty(name));      data.add(row);    }    Vector columnNames = new Vector(2);    columnNames.add("Name");    columnNames.add("Value");    JTable argTable = new JTable(new DefaultTableModel(data, columnNames));    argTable.getTableHeader().setReorderingAllowed(false);    argTable.setColumnSelectionAllowed(false);    argTable.getSelectionModel().setSelectionMode(ListSelectionModel.SINGLE_SELECTION);    argTable.setPreferredScrollableViewportSize(new Dimension(50, 100));    JScrollPane jspArgTable = new JScrollPane(argTable);    // ensure the layout leaves space for the scrollbar    jspArgTable.setMinimumSize(new Dimension(50, 50));    aboutPanel.add(jspArgTable,                   new GridBagConstraints(x, y++, 1, 1, 1.0, 0.0,                                          GridBagConstraints.WEST,                                          GridBagConstraints.HORIZONTAL,                                          new Insets(0, 0, 5, 0),                                          0, 0));    x = 0;    aboutPanel.add(new JLabel("Command Line Arguments:"),                   new GridBagConstraints(x++, y, 1, 1, 0.0, 0.0,                                          GridBagConstraints.WEST,                                          GridBagConstraints.NONE,                                          new Insets(0, 0, 5, 5),                                          0, 0));    JTextArea args = new JTextArea(5, 40);    Properties props = node.getArguments();    String commandArguments =      props.getProperty(CSMARTConsole.COMMAND_ARGUMENTS);    if (commandArguments == null)      commandArguments = "";    args.setText(commandArguments);    JScrollPane jspArgs = new JScrollPane(args);    jspArgs.setMinimumSize(new Dimension(50, 50));    aboutPanel.add(jspArgs,                   new GridBagConstraints(x, y++, 1, 1, 1.0, 0.0,                                          GridBagConstraints.WEST,                                          GridBagConstraints.HORIZONTAL,                                          new Insets(0, 0, 5, 0),                                          0, 0));    x = 0;    aboutPanel.add(new JLabel("Agents:"),                   new GridBagConstraints(x, y++, 1, 1, 0.0, 0.0,                                          GridBagConstraints.WEST,                                          GridBagConstraints.NONE,                                          new Insets(0, 0, 5, 5),                                          0, 0));    aboutPanel.add(new JLabel("(select for more information)"),                   new GridBagConstraints(x++, y, 1, 1, 0.0, 0.0,                                          GridBagConstraints.WEST,                                          GridBagConstraints.NONE,                                          new Insets(0, 0, 5, 5),                                          0, 0));    JList agentsList = new JList(agentNames.toArray());    agentsList.setBackground(aboutPanel.getBackground());    agentsList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);    agentsList.addListSelectionListener(new ListSelectionListener() {      public void valueChanged(ListSelectionEvent e) {        if (e.getValueIsAdjusting())          return;        String agentName = (String)agentNames.get(e.getLastIndex());        displayPlugIns(agentName);      }    });    JScrollPane jspAgents = new JScrollPane(agentsList);    jspAgents.setMinimumSize(new Dimension(50, 50));    aboutPanel.add(jspAgents,                   new GridBagConstraints(x, y++, 1, 1, 1.0, 0.0,                                          GridBagConstraints.WEST,                                          GridBagConstraints.HORIZONTAL,                                          new Insets(0, 0, 5, 0),                                          0, 0));    JOptionPane.showMessageDialog(this, aboutPanel,                                   "Information: " + node.getShortName() +                                   " (" + hostName + ")",                                  JOptionPane.PLAIN_MESSAGE);  }