Comment changer le curseur de la souris en java?
j'ai une liste de mots dans la liste. Chaque fois que je pointe le curseur de la souris sur un mot, je veux que le curseur se transforme en un curseur main. Maintenant mon problème est de savoir comment le faire?
quelqu'un Pourrait-il m'aider avec ce problème?
25
demandé sur
Matthias Braun
2011-09-09 12:48:58
2 réponses
un MouseMotionListener sur votre JList pour détecter quand la souris y entre et ensuite appeler setCursor
pour le convertir en un HAND_CURSOR
.
exemple de code:
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) {
}
});
32
répondu
dogbane
2011-09-09 10:21:37
vous voulez probablement regarder le Component.setCursor
la méthode, et l'utiliser avec le Cursor.HAND
constante.
18
répondu
aioobe
2011-09-09 08:50:23