Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Problème de création de curseur

2 réponses
Avatar
ChP
Bonsoir à toutes et à tous,

Je souhaite créer un curseur personnalisé. J'écris le code suivant :


Toolkit tk = Toolkit.getDefaultToolkit();
String nomFch = "D:\\Curnon.GIF";
Image img = tk.createImage(nomFch);
Cursor curseur = tk.createCustomCursor(img, new Point(8, 8), "NON");

Si je débogue l'application, je m'aperçois qu'à l'exécution de
"tk.createImage", l'image créée à des dimensions égales à -1, je suppose
donc qu'elle n'est pas chargée car ses dimensions réelles sont de 16 x
16 pixels.

Avez-vous des idées du pourquoi du comment ?

Merci de votre aide.

Pierre.

2 réponses

Avatar
giganet
Bonsoir à toutes et à tous,

Je souhaite créer un curseur personnalisé. J'écris le code suivant :


Toolkit tk = Toolkit.getDefaultToolkit();
String nomFch = "D:Curnon.GIF";
Image img = tk.createImage(nomFch);
Cursor curseur = tk.createCustomCursor(img, new Point(8, 8), "NON");

Si je débogue l'application, je m'aperçois qu'à l'exécution de
"tk.createImage", l'image créée à des dimensions égales à -1, je suppose
donc qu'elle n'est pas chargée car ses dimensions réelles sont de 16 x
16 pixels.

Avez-vous des idées du pourquoi du comment ?

Merci de votre aide.

Pierre.


Généralement, j'utilise plutot ImageIO.read(imageFileSrc)... Essayez
avec ça.

Avatar
ChP
Bonsoir à toutes et à tous,

Je souhaite créer un curseur personnalisé. J'écris le code suivant :


Toolkit tk = Toolkit.getDefaultToolkit();
String nomFch = "D:Curnon.GIF";
Image img = tk.createImage(nomFch);
Cursor curseur = tk.createCustomCursor(img, new Point(8, 8), "NON");

Si je débogue l'application, je m'aperçois qu'à l'exécution de
"tk.createImage", l'image créée à des dimensions égales à -1, je
suppose donc qu'elle n'est pas chargée car ses dimensions réelles sont
de 16 x 16 pixels.

Avez-vous des idées du pourquoi du comment ?

Merci de votre aide.

Pierre.


Généralement, j'utilise plutot ImageIO.read(imageFileSrc)... Essayez
avec ça.


J'ai effectivement utilisé aussi cette méthode : pas mieux.

En fait, il s'est avéré que mon problème ne venait pas de là, mais de
l'utilisation du curseur. J'utilisais, comme préconisé, l'instruction :

setCursor(Cursor.getSystemCustomCursor("NON"));

et tout s'est mis à fonctionner quand j'ai remplacé cette instruction par :

setCursor(curseur);

Pourquoi ???

Cordialement.

Pierre