# Class Cursor

java.lang.Object
java.awt.Cursor

All Implemented Interfaces:
  `Serializable`

public class Cursor extends Object implements Serializable
A class to encapsulate the bitmap representation of the mouse cursor.

See Also:
  - `Component.setCursor(Cursor)`
  - Serialized Form

## Field Summary

Fields
Modifier and Type
Field
Description
`static final int`
`CROSSHAIR_CURSOR`
The crosshair cursor type.
`static final int`
`CUSTOM_CURSOR`
The type associated with all custom cursors.
`static final int`
`DEFAULT_CURSOR`
The default cursor type (gets set if no cursor is defined).
`static final int`
`E_RESIZE_CURSOR`
The east-resize cursor type.
`static final int`
`HAND_CURSOR`
The hand cursor type.
`static final int`
`MOVE_CURSOR`
The move cursor type.
`static final int`
`N_RESIZE_CURSOR`
The north-resize cursor type.
`protected String`
`name`
The user-visible name of the cursor.
`static final int`
`NE_RESIZE_CURSOR`
The north-east-resize cursor type.
`static final int`
`NW_RESIZE_CURSOR`
The north-west-resize cursor type.
`protected static Cursor[]`
`predefined`
Deprecated.
As of JDK version 1.7, the `getPredefinedCursor(int)` method should be used instead.
`static final int`
`S_RESIZE_CURSOR`
The south-resize cursor type.
`static final int`
`SE_RESIZE_CURSOR`
The south-east-resize cursor type.
`static final int`
`SW_RESIZE_CURSOR`
The south-west-resize cursor type.
`static final int`
`TEXT_CURSOR`
The text cursor type.
`static final int`
`W_RESIZE_CURSOR`
The west-resize cursor type.
`static final int`
`WAIT_CURSOR`
The wait cursor type.

## Constructor Summary

Constructors
Modifier
Constructor
Description
``
`Cursor(int type)`
Creates a new cursor object with the specified type.
`protected`
`Cursor(String name)`
Creates a new custom cursor object with the specified name.

## Method Summary

Modifier and Type
Method
Description
`static Cursor`
`getDefaultCursor()`
Return the system default cursor.
`String`
`getName()`
Returns the name of this cursor.
`static Cursor`
`getPredefinedCursor(int type)`
Returns a cursor object with the specified predefined type.
`static Cursor`
`getSystemCustomCursor(String name)`
Returns a system-specific custom cursor object matching the specified name.
`int`
`getType()`
Returns the type for this cursor.
`String`
`toString()`
Returns a string representation of this cursor.

### Methods declared in class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Field Details

### DEFAULT_CURSOR

public static final int DEFAULT_CURSOR
The default cursor type (gets set if no cursor is defined).

See Also:
  - Constant Field Values

### CROSSHAIR_CURSOR

public static final int CROSSHAIR_CURSOR
The crosshair cursor type.

See Also:
  - Constant Field Values

### TEXT_CURSOR

public static final int TEXT_CURSOR
The text cursor type.

See Also:
  - Constant Field Values

### WAIT_CURSOR

public static final int WAIT_CURSOR
The wait cursor type.

See Also:
  - Constant Field Values

### SW_RESIZE_CURSOR

public static final int SW_RESIZE_CURSOR
The south-west-resize cursor type.

See Also:
  - Constant Field Values

### SE_RESIZE_CURSOR

public static final int SE_RESIZE_CURSOR
The south-east-resize cursor type.

See Also:
  - Constant Field Values

### NW_RESIZE_CURSOR

public static final int NW_RESIZE_CURSOR
The north-west-resize cursor type.

See Also:
  - Constant Field Values

### NE_RESIZE_CURSOR

public static final int NE_RESIZE_CURSOR
The north-east-resize cursor type.

See Also:
  - Constant Field Values

### N_RESIZE_CURSOR

public static final int N_RESIZE_CURSOR
The north-resize cursor type.

See Also:
  - Constant Field Values

### S_RESIZE_CURSOR

public static final int S_RESIZE_CURSOR
The south-resize cursor type.

See Also:
  - Constant Field Values

### W_RESIZE_CURSOR

public static final int W_RESIZE_CURSOR
The west-resize cursor type.

See Also:
  - Constant Field Values

### E_RESIZE_CURSOR

public static final int E_RESIZE_CURSOR
The east-resize cursor type.

See Also:
  - Constant Field Values

### HAND_CURSOR

public static final int HAND_CURSOR
The hand cursor type.

See Also:
  - Constant Field Values

### MOVE_CURSOR

public static final int MOVE_CURSOR
The move cursor type.

See Also:
  - Constant Field Values

### predefined

@Deprecated protected static Cursor[] predefined
Deprecated.
As of JDK version 1.7, the `getPredefinedCursor(int)` method should be used instead.

### CUSTOM_CURSOR

public static final int CUSTOM_CURSOR
The type associated with all custom cursors.

See Also:
  - Constant Field Values

### name

protected String name
The user-visible name of the cursor.

See Also:
  - `getName()`

## Constructor Details

### Cursor

@ConstructorProperties("type") public Cursor(int type)
Creates a new cursor object with the specified type.

Parameters:
  `type` - the type of cursor
Throws:
  `IllegalArgumentException` - if the specified cursor type is invalid

### Cursor

protected Cursor(String name)
Creates a new custom cursor object with the specified name.

Note: this constructor should only be used by AWT implementations as part of their support for custom cursors. Applications should use Toolkit.createCustomCursor().

Parameters:
  `name` - the user-visible name of the cursor.
See Also:
  - `Toolkit.createCustomCursor(Image, Point, String)`

## Method Details

### getPredefinedCursor

public static Cursor getPredefinedCursor(int type)
Returns a cursor object with the specified predefined type.

Parameters:
  `type` - the type of predefined cursor
Returns:
  the specified predefined cursor
Throws:
  `IllegalArgumentException` - if the specified cursor type is invalid

### getSystemCustomCursor

public static Cursor getSystemCustomCursor(String name) throws AWTException, HeadlessException
Returns a system-specific custom cursor object matching the specified name. Cursor names are, for example: "Invalid.16x16"

Parameters:
  `name` - a string describing the desired system-specific custom cursor
Returns:
  the system specific custom cursor named
Throws:
  `HeadlessException` - if `GraphicsEnvironment.isHeadless` returns true
  `AWTException` - in case of erroneous retrieving of the cursor

### getDefaultCursor

public static Cursor getDefaultCursor()
Return the system default cursor.

Returns:
  the default cursor

### getType

public int getType()
Returns the type for this cursor.

Returns:
  the cursor type

### getName

public String getName()
Returns the name of this cursor.

Returns:
  a localized description of this cursor.
Since:
  1.2

### toString

public String toString()
Returns a string representation of this cursor.

Overrides:
  `toString` in class `Object`
Returns:
  a string representation of this cursor.
Since:
  1.2