Introduced in Java 1.1, the Cursor class provides the different cursors that can be associated with a Component. Previously, cursors could only be associated with a whole Frame. Now any component can use fancy cursors when the user is interacting with the system.
To change the cursor, a component calls its setCursor() method; its argument is a Cursor object, which is defined by this class.
There is still no way to assign a user-defined cursor to a Component. You are restricted to the 14 predefined cursors.
The following is a list of Cursor constants. The cursors corresponding to the constants are shown in Figure 5.6.
public final static int DEFAULT_CURSOR
public final static int CROSSHAIR_CURSOR
public final static int TEXT_CURSOR
public final static int WAIT_CURSOR
public final static int HAND_CURSOR
public final static int MOVE_CURSOR
public final static int N_RESIZE_CURSOR
public final static int S_RESIZE_CURSOR
public final static int E_RESIZE_CURSOR
public final static int W_RESIZE_CURSOR
public final static int NE_RESIZE_CURSOR
public final static int NW_RESIZE_CURSOR
public final static int SE_RESIZE_CURSOR
public final static int SW_RESIZE_CURSOR
The sole constructor creates a Cursor of the specified type. type must be one of the Cursor class constants. If type is not one of the class constants, the constructor throws the run-time exception IllegalArgumentException.
This constructor exists primarily to support object serialization; you don't need to call it in your code. It is more efficient to call getPredefinedCursor(), discussed later in this section.
The getType() method returns the cursor type. The value returned is one of the class constants.
The getPredefinedCursor() method returns the predefined Cursor of the given type. If type is not one of the class constants, this method throws the run-time exception IllegalArgumentException. This method checks what Cursor objects already exist and gives you a reference to a preexisting Cursor if it can find one with the appropriate type. Otherwise, it creates a new Cursor for you. This is more efficient than calling the Cursor constructor whenever you need one.
The getDefaultCursor() method returns the predefined Cursor for the DEFAULT_CURSOR type.