¿Cómo cambiar el cursor del mouse en java?
swing mouse-cursor (2)
Probablemente quiera mirar el método Component.setCursor
y usarlo junto con la constante Cursor.HAND
.
Tengo una lista de palabras dentro de la JList. Cada vez que señalo el cursor del mouse sobre una palabra, quiero que el cursor se convierta en un cursor de mano. Ahora mi problema es cómo hacer eso?
¿Alguien podría ayudarme con este problema?
Use un MouseMotionListener en su JList para detectar cuándo el mouse lo ingresa y luego llame a setCursor
para convertirlo a HAND_CURSOR
.
Código de muestra:
final JList list = new JList(new String[] {"a","b","c"});
list.addMouseMotionListener(new MouseMotionListener() {
@Override
public void mouseMoved(MouseEvent e) {
final int x = e.getX();
final int y = e.getY();
// only display a hand if the cursor is over the items
final Rectangle cellBounds = list.getCellBounds(0, list.getModel().getSize() - 1);
if (cellBounds != null && cellBounds.contains(x, y)) {
list.setCursor(new Cursor(Cursor.HAND_CURSOR));
} else {
list.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
}
}
@Override
public void mouseDragged(MouseEvent e) {
}
});