web-dev-qa-db-fra.com

Comment changer l'icône du curseur en Java?

Je voudrais changer l'icône du curseur en mon image 32x32 personnalisée lorsqu'une application Java est en cours d'exécution. J'ai regardé et cherché, celles que j'ai trouvées ne font que placer le curseur sur un JComponent. Mais je veux le curseur changé en mon icône spécifiée partout où il va se déplacer, naviguer et cliquer, tant que l'application Java est toujours en cours d'exécution, ou vous pouvez dire runtime du programme.

Merci beaucoup.

25
DYL

Image du curseur standard:

setCursor(Cursor.getDefaultCursor());

Image définie par l'utilisateur:

Toolkit toolkit = Toolkit.getDefaultToolkit();
Image image = toolkit.getImage("icons/handwriting.gif");
Cursor c = toolkit.createCustomCursor(image , new Point(mainPane.getX(), 
           mainPane.getY()), "img");
mainPane.setCursor (c);

Vous pouvez télécharger un zip contenant un exemple de source: ICI

42
Mohamed Saligh

Appelez Component.setCursor . La classe Cursor comme quelques curseurs prédéfinis.

Une image de curseur personnalisée peut être créée:

setCursor(Toolkit.getDefaultToolkit().createCustomCursor(
new ImageIcon("custom.png").getImage(),
new Point(0,0),"custom cursor"));
9
stacker

Essayez de positionner le curseur sur le rootPane.

frame.getRootPane().setCursor(...);
4
camickr
public void mouseEntered(MouseEvent e)
{
// set cursor for frame and its component
//  this is the current frame you are using .
//  You can change the this keyword with your frame name .

Java.awt.Toolkit toolkit = Java.awt.Toolkit.getDefaultToolkit();
Image image = toolkit.getImage("/images/mousepoint.jpg");
Cursor a = toolkit.createCustomCursor(image , new Point(this.getX(),this.getY()), "");
this.setCursor (a);
}

ou vous pouvez vous référer à: -
http://Java23s.blogspot.in/2011/07/to-change-mouse-pointer-using-Java.html

1
Abhishek Singh

Pourquoi n'avez-vous pas une classe MyFrame qui étend JFrame. Il ne fait qu'appeler le constructeur JFrame et place le curseur sur le curseur souhaité. Dans mon application, nous avons un écran tactile sans curseur, c'est ainsi que j'ai l'intention de le mettre en œuvre.

0
Tony