java.awt
Class Cursor

java.lang.Object
  extended byjava.awt.Cursor
All Implemented Interfaces:
Serializable

public class Cursor
extends Object
implements Serializable

A class to encapsulate the bitmap representation of the mouse cursor.

Author:
Amy Fowler
See Also:
Component.setCursor(java.awt.Cursor), Serialized Form

Field Summary
static int CROSSHAIR_CURSOR
          The crosshair cursor type.
private static String CursorDotPrefix
           
(package private) static String[][] cursorProperties
           
static int CUSTOM_CURSOR
          The type associated with all custom cursors.
private static sun.awt.DebugHelper dbg
           
static int DEFAULT_CURSOR
          The default cursor type (gets set if no cursor is defined).
private static String DotFileSuffix
           
private static String DotHotspotSuffix
           
private static String DotNameSuffix
           
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.
private  long pData
          Hook into native data.
protected static Cursor[] predefined
           
static int S_RESIZE_CURSOR
          The south-resize cursor type.
static int SE_RESIZE_CURSOR
          The south-east-resize cursor type.
private static long serialVersionUID
           
static int SW_RESIZE_CURSOR
          The south-west-resize cursor type.
private static String systemCustomCursorDirPrefix
           
private static Properties systemCustomCursorProperties
           
private static String systemCustomCursorPropertiesFile
           
private static Hashtable systemCustomCursors
           
static int TEXT_CURSOR
          The text cursor type.
(package private)  int type
          The chosen cursor type initially set to the DEFAULT_CURSOR.
static int W_RESIZE_CURSOR
          The west-resize cursor type.
static int WAIT_CURSOR
          The wait cursor type.
 
Constructor Summary
  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
protected  void finalize()
          Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.
private  void finalizeImpl()
           
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.
private static String initCursorDir()
           
private static void initIDs()
          Initialize JNI field and method IDs for fields that may be accessed from C.
private static void loadSystemCustomCursorProperties()
           
 String toString()
          Returns a string representation of this cursor.
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

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

protected static Cursor[] predefined

cursorProperties

static final String[][] cursorProperties

type

int type
The chosen cursor type initially set to the DEFAULT_CURSOR.

See Also:
getType()

CUSTOM_CURSOR

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

See Also:
Constant Field Values

systemCustomCursors

private static final Hashtable systemCustomCursors

systemCustomCursorDirPrefix

private static final String systemCustomCursorDirPrefix

systemCustomCursorPropertiesFile

private static final String systemCustomCursorPropertiesFile

systemCustomCursorProperties

private static Properties systemCustomCursorProperties

CursorDotPrefix

private static final String CursorDotPrefix
See Also:
Constant Field Values

DotFileSuffix

private static final String DotFileSuffix
See Also:
Constant Field Values

DotHotspotSuffix

private static final String DotHotspotSuffix
See Also:
Constant Field Values

DotNameSuffix

private static final String DotNameSuffix
See Also:
Constant Field Values

serialVersionUID

private static final long serialVersionUID
See Also:
Constant Field Values

dbg

private static final sun.awt.DebugHelper dbg

pData

private transient long pData
Hook into native data.


name

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

See Also:
getName()
Constructor Detail

Cursor

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 Detail

initCursorDir

private static String initCursorDir()

initIDs

private static void initIDs()
Initialize JNI field and method IDs for fields that may be accessed from C.


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

getDefaultCursor

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


getType

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


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

loadSystemCustomCursorProperties

private static void loadSystemCustomCursorProperties()
                                              throws AWTException
Throws:
AWTException

finalize

protected void finalize()
                 throws Throwable
Description copied from class: Object
Called by the garbage collector on an object when garbage collection determines that there are no more references to the object. A subclass overrides the finalize method to dispose of system resources or to perform other cleanup.

The general contract of finalize is that it is invoked if and when the JavaTM virtual machine has determined that there is no longer any means by which this object can be accessed by any thread that has not yet died, except as a result of an action taken by the finalization of some other object or class which is ready to be finalized. The finalize method may take any action, including making this object available again to other threads; the usual purpose of finalize, however, is to perform cleanup actions before the object is irrevocably discarded. For example, the finalize method for an object that represents an input/output connection might perform explicit I/O transactions to break the connection before the object is permanently discarded.

The finalize method of class Object performs no special action; it simply returns normally. Subclasses of Object may override this definition.

The Java programming language does not guarantee which thread will invoke the finalize method for any given object. It is guaranteed, however, that the thread that invokes finalize will not be holding any user-visible synchronization locks when finalize is invoked. If an uncaught exception is thrown by the finalize method, the exception is ignored and finalization of that object terminates.

After the finalize method has been invoked for an object, no further action is taken until the Java virtual machine has again determined that there is no longer any means by which this object can be accessed by any thread that has not yet died, including possible actions by other objects or classes which are ready to be finalized, at which point the object may be discarded.

The finalize method is never invoked more than once by a Java virtual machine for any given object.

Any exception thrown by the finalize method causes the finalization of this object to be halted, but is otherwise ignored.

Overrides:
finalize in class Object
Throws:
Throwable - the Exception raised by this method

finalizeImpl

private void finalizeImpl()
                   throws Throwable
Throws:
Throwable