private void showAboutPanel() {
    String html = MessageFormat.format(resources.getString("dialog.about.text"), new Object[] { resources.getString("version.id") });
    String[] props = { "java.version", "java.vendor", "java.home", "os.name", "os.arch", "os.version", "user.name", "user.home", "user.dir" };
    html += "<table border='1'>";
    for (String prop : props) {
        try {
            String value = System.getProperty(prop);
            html += "<tr><td>" + prop + "</td><td>" + value + "</td></tr>";
        } catch (SecurityException ex) {
            // oh well...
        }
    }
    html += "</table>";
    html = "<html>" + html + "</html>";
    JOptionPane.showMessageDialog(this, new JLabel(html), resources.getString("dialog.about.title"), JOptionPane.INFORMATION_MESSAGE);
}