import java.awt.*;
import java.security.*;
import java.util.PropertyPermission;
import javax.swing.*;
class TextView extends JLabel {
public TextView()
{
super("<html><font color=black>");
setBackground(Color.white);
setOpaque(true);
setVerticalAlignment(SwingConstants.TOP);
setVerticalTextPosition(SwingConstants.TOP);
}
public void append(String str)
{
setText(getText() + str);
}
public void println(String str)
{
append(str+"<br>");
}
}
class Info extends JTabbedPane {
Info()
{
TextView view;
view = new TextView();
view.append("<h2>System Properties</h2>");
view.println("<p><b>version:</b> " + System.getProperty("java.version") );
view.println("<b>vendor:</b> " + System.getProperty("java.vendor") );
view.println("<b>vendor.url:</b> " + System.getProperty("java.vendor.url") );
addTab("system", view);
setSelectedIndex(0);
view = new TextView();
view.append("<h2>OS Properties</h2>");
view.println("<b>OS:</b> " + System.getProperty("os.name") );
view.println("<b>OS Arch:</b> " + System.getProperty("os.arch") );
view.println("<b>OS Version:</b> " + System.getProperty("os.version") );
addTab("os",view);
view = new TextView();
view.append("<h2>Java Properties</h2>");
try {
PropertyPermission p = new PropertyPermission("java.*","read");
AccessController.checkPermission(p);
view.println("<b>java home:</b> " + System.getProperty("java.home") );
view.println("<b>class version:</b> " + System.getProperty("java.class.version") );
view.println("<b>class path:</b>" + System.getProperty("java.class.path") );
}
catch (java.security.AccessControlException exc)
{
view.println( exc.getMessage() );
}
addTab("java",view);
view = new TextView();
view.append("<h2>User Properties</h2>");
try {
PropertyPermission p = new PropertyPermission("user.*","read");
AccessController.checkPermission(p);
view.println("<b>User:</b> " + System.getProperty("user.name") );
view.println("<b>Home:</b> " + System.getProperty("user.home") );
view.println("<b>Current:</b> " + System.getProperty("user.dir") );
}
catch (java.security.AccessControlException exc)
{
view.println( exc.getMessage() );
}
addTab("user",view);
Toolkit toolkit = Toolkit.getDefaultToolkit();
view = new TextView();
view.append("<h2>Toolkit</h2>");
view.println("<b>Class name:</b> " + toolkit.getClass().getName() );
view.println("<b>Screen resolution:</b> " + toolkit.getScreenResolution() + " dots/inch" );
Dimension d = toolkit.getScreenSize();
view.println("<b>Screen size:</b> (" + d.width + ", " + d.height + ")" );
view.println("<b>Color model:</b> " + toolkit.getColorModel() );
d = toolkit.getBestCursorSize(-1,-1);
view.println("<b>Preferred cursor size:</b> (" + d.width + ", " + d.height + ")" );
addTab("toolkit",view);
}
}
public class SystemInfo extends JApplet {
public void init() {
getContentPane().add(new Info() );
}
public static void main(String args[])
{
JFrame frame = new JFrame("System Info");
frame.getContentPane().add(new Info() );
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
}
}
Maintained by John Loomis, last updated 19 July 2000