Cursor (Java SE 13 & JDK 13 )
Description: declaration: module: java.desktop, package: java.awt, class: Cursor
Keywords: java.awt.Cursor class

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