Module java.desktop
Package java.awt

# 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(java.awt.Cursor)`, Serialized Form

## Field Summary

Fields
Modifier and Type | Field | Description
--- | --- | ---
`static int` | `CROSSHAIR_CURSOR` | The crosshair cursor type.
`static int` | `CUSTOM_CURSOR` | The type associated with all custom cursors.
`static int` | `DEFAULT_CURSOR` | The default cursor type (gets set if no cursor is defined).
`static int` | `E_RESIZE_CURSOR` | The east-resize cursor type.
`static int` | `HAND_CURSOR` | The hand cursor type.
`static int` | `MOVE_CURSOR` | The move cursor type.
`static int` | `N_RESIZE_CURSOR` | The north-resize cursor type.
`protected String` | `name` | The user-visible name of the cursor.
`static int` | `NE_RESIZE_CURSOR` | The north-east-resize cursor type.
`static 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 int` | `S_RESIZE_CURSOR` | The south-resize cursor type.
`static int` | `SE_RESIZE_CURSOR` | The south-east-resize cursor type.
`static int` | `SW_RESIZE_CURSOR` | The south-west-resize cursor type.
`static int` | `TEXT_CURSOR` | The text cursor type.
`static int` | `W_RESIZE_CURSOR` | The west-resize cursor type.
`static 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 java.lang.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(java.awt.Image, java.awt.Point, java.lang.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