1 /*
2  * Copyright (c) 2002, 2004, Oracle and/or its affiliates. All rights reserved.
3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4  *
5  * This code is free software; you can redistribute it and/or modify it
6  * under the terms of the GNU General Public License version 2 only, as
7  * published by the Free Software Foundation.
8  *
9  * This code is distributed in the hope that it will be useful, but WITHOUT
10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
12  * version 2 for more details (a copy is included in the LICENSE file that
13  * accompanied this code).
14  *
15  * You should have received a copy of the GNU General Public License version
16  * 2 along with this work; if not, write to the Free Software Foundation,
17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18  *
19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20  * or visit www.oracle.com if you need additional information or have any
21  * questions.
22  *
23  */
24 
25 package sun.jvm.hotspot.ui;
26 
27 import java.awt.*;
28 import java.util.*;
29 import javax.swing.*;
30 
31 import sun.jvm.hotspot.runtime.*;
32 
33 /** Shows values of Java System properties. */
34 
35 public class SysPropsPanel extends JPanel {
36     private SAEditorPane         flagsPane;
37 
SysPropsPanel()38     public SysPropsPanel() {
39         initUI();
40     }
41 
initUI()42     private void initUI() {
43         setLayout(new BorderLayout());
44         flagsPane = new SAEditorPane();
45         flagsPane.setText(getFlags());
46 
47         add(new JScrollPane(flagsPane), BorderLayout.CENTER);
48     }
49 
getFlags()50     private String getFlags() {
51        final StringBuffer buf = new StringBuffer();
52        buf.append("<html><head><title>System Properties</title></head><body>");
53        buf.append("<table border='1'>");
54 
55        Properties sysProps = VM.getVM().getSystemProperties();
56        if (sysProps != null) {
57           Enumeration keys = sysProps.keys();
58           while (keys.hasMoreElements()) {
59              Object key = keys.nextElement();
60              buf.append("<tr><td>");
61              buf.append(key.toString());
62              buf.append("</td><td>");
63              buf.append(sysProps.get(key).toString());
64              buf.append("</td></tr>");
65           }
66        } else {
67           buf.append("<tr><td>System Properties info not available!</td></tr>");
68        }
69        buf.append("</table>");
70        buf.append("</body></html>");
71        return buf.toString();
72     }
73 }
74