System Info

SystemInfo.java

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