Cursor Test

   

CursorTest.java

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;


public class CursorTest implements ItemListener
{
	JPanel panel;
	JComboBox cursors;
	Cursor custom;
	
	CursorTest()
	{
		panel = new JPanel();
		panel.setPreferredSize(new Dimension(200,200));

		//Create and load the duke icon.
		ImageIcon icon = new ImageIcon("dukeWaveRed.gif");
		custom = Toolkit.getDefaultToolkit().createCustomCursor(icon.getImage(), new Point(15,15),
			"Duke Waving");

		
		String names[] = new String[15];
		int i;
		for (i=0; i<20; i++) {
			try {
				names[i] = Cursor.getPredefinedCursor(i).getName();
			}
			catch(IllegalArgumentException e)
			{
				break;
			}
		}
		System.out.println("There are " + i + " predefined cursors");
		names[14] = custom.getName();
		cursors = new JComboBox(names);
		cursors.addItemListener(this);
		
		JPanel top = new JPanel();
		top.add(cursors);

		
		JFrame frame = new JFrame("Cursor test");
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		Container c = frame.getContentPane();
		c.add(panel);
		c.add(top,BorderLayout.NORTH);
		frame.pack();
		frame.setVisible(true);
		
	}

	public void itemStateChanged(ItemEvent e)
	{
		int idx = cursors.getSelectedIndex();
		panel.setCursor( idx<14? Cursor.getPredefinedCursor( idx ): custom );
	}
	
	public static void main(String args[])
	{
		new CursorTest();
	}
}


Maintained by John Loomis, last updated 20 June 2000