Modificar el cursor del ratón en JAVA

remoh
09 de Junio del 2004
Hola a todos, soy nuevo en JAVA y en este foro, empiezo con una pregunta facil ;).

Estoy haciendo un programa en JAVA usando swing que me permite dentro de un panel mover y redimensionar los componentes que se le añadan, me gustaria cuando el ratón se coloca encima del componete modificar el cursor del ratón, ( como el tipico cursor que te aparece cuando te posicionas en la esquina de una caja para modificar su tamaño).

Se manejar los eventos de ratón lo único que no se es la instrucción concreta que me permita cambiar dicho cursor, ando buscando por el API y no veo nada ;(, a ver si me podeis echar mano expertos del JAVA.

Un saludo y gracias por adelantado.

RoCiO
09 de Junio del 2004
Hola, para cambiar el cursor, en el componenete que quiereas cambiarlo es con setCursor,y para crearlo con Cursor.
De todos modos yo tengo una aplicación del estilo, y antes la hacia con AWT y al cambiar el cursor en un componente me lo cambiaba en los componentes internos a el.
Ahora con Swing no consigo esto,y p defecto tendría q ocurrir. Si sabes pq me pasa.
Gracias

remoh
09 de Junio del 2004
Muchas gracias.

Ya se cambian los cursores y queda tan mona la aplicación :).

Se me ocurre que si la clase que no propaga la modificación del cursor es por ejemplo JPanel puedes hacerte una clase que herede de este y sobreescribir el método setCursor(), llamas primero a super.getCursor y luego te recorres la lista de componentes que contiene y les vas cambiado el cursor también, pero seguramente exista una solución más fácil y esto quizas sea matar moscas a cañonazos..., soy muy nuevo con JAVA y swing y me queda mucho por parender...

Un Saludo.

moginn
09 de Junio del 2004
Panel p = new Panel();
p.setCursor(Cursor.getPredefinedCursor(Cursor.XXX));

donde XXX ha de ser una de estas opciones:

CROSSHAIR_CURSOR
The crosshair cursor type.
CUSTOM_CURSOR
The type associated with all custom cursors.
DEFAULT_CURSOR
The default cursor type (gets set if no cursor is defined).
E_RESIZE_CURSOR
The east-resize cursor type.
HAND_CURSOR
The hand cursor type.
MOVE_CURSOR
The move cursor type.
N_RESIZE_CURSOR
The north-resize cursor type.
NE_RESIZE_CURSOR
The north-east-resize cursor type.
NW_RESIZE_CURSOR
The north-west-resize cursor type.
S_RESIZE_CURSOR
The south-resize cursor type.
SE_RESIZE_CURSOR
The south-east-resize cursor type.
SW_RESIZE_CURSOR
The south-west-resize cursor type.
TEXT_CURSOR
The text cursor type.
W_RESIZE_CURSOR
The west-resize cursor type.
WAIT_CURSOR
The wait cursor type.