J'utilise JOGL2 et les API NativeWindow pour écrire une application en Java. Quel est le meilleur moyen de cacher le curseur de la souris? Je n'utilise pas JFrame pour créer une fenêtre mais plutôt GLWindow à partir de JOGL. GLWindow n'a pas de méthode setCursor. Est-ce encore possible?Comment cacher le curseur de la souris en utilisant JOGL2?
Répondre
Comme vous le (thekidder) dire GLWindow
n'a pas cette capacité donc j'utiliser GLCanvas
dans un Frame
(ou JFrame
) comme celui-ci (comme Alexr a écrit):
public static void main(String... args) {
// create the cursor
Toolkit t = Toolkit.getDefaultToolkit();
Image i = new BufferedImage(1, 1, BufferedImage.TYPE_INT_ARGB);
Cursor noCursor = t.createCustomCursor(i, new Point(0, 0), "none");
// try it with a normal frame
Frame f = new Frame();
// create the GLCanvas and add it to the frame
GLCanvas canvas = new GLCanvas();
frame.add(canvas);
f.setCursor(noCursor);
f.setSize(400, 200);
f.setVisible(true);
}
Si la souris se trouve dans la zone de la fenêtre de l'application, vous pouvez définir n'importe quelle image comme un curseur personnalisé. Utilisez l'image transparente 1x1 pixel. Je l'ai utilisé - fonctionne bien. C'est une API normale, pas de JOGL, pas de code natif.
Après quelques recherches plus poussées, il semble que ceci n'est pas encore implémenté pour les fenêtres NEWT dans JOGL2. Il y a une demande d'amélioration déposée sur le bugzilla de JOGL: http://jogamp.org/bugzilla/show_bug.cgi?id=409
Ceci a depuis été implémenté dans JOGL2 en utilisant NEWT (un objet GLWindow). Voir https://jogamp.org/bugzilla/show_bug.cgi?id=409 (référencé dans la réponse thekidder).
Vous pouvez le faire comme ceci:
glWindow.setPointerVisible(false);
À l'heure actuelle avec ASPIC GLWindow:
window = GLWindow.create(caps);
...
window.requestFocus();
window.setAlwaysOnTop(true); // i think, be on top is good than mouse is jailed
window.setUndecorated(true); // remove window borders (if u want)
window.setPointerVisible(false); // hide cursor
window.confinePointer(true); // jail inside (cursor will be limited to window borders)
- 1. Cacher le curseur de la souris après un temps d'inactivité
- 2. Cacher le curseur de la souris sur tout l'écran en Java
- 3. Changer le curseur de la souris
- 4. Objet suivre le curseur de la souris
- 5. obtenir le type de curseur de la souris en cours
- 6. Comment changer le curseur de la souris dans PythonCard
- 7. Comment obtenir le contrôle sous le curseur de la souris?
- 8. En déplaçant le curseur de la souris programme
- 9. Comment obtenir le type de curseur global de la souris?
- 10. Masquer le curseur de la souris avec glfw
- 11. Flex afficher/cacher de la souris/out
- 12. Modifier le type de curseur lorsque la souris survole un texte sélectionné en utilisant HTML/Javascript
- 13. Impossible de définir le curseur de la souris JLayeredPane
- 14. Puis-je "annuler" le déplacement de la souris et rendre le curseur de la souris visible mais en place?
- 15. Changer le curseur de la souris quand on appuie sur le bouton gauche de la souris?
- 16. Comment changer le curseur en fonction de la position de la souris?
- 17. Comment cacher le curseur du champ de texte sur l'iPhone?
- 18. souris déplacée curseur -crosshair
- 19. Déplacez le curseur de la souris en utilisant javascript dans Chrome ou Firefox en utilisant une méthode (Plugin, GreaseMonkey?)
- 20. Comment cacher un curseur dans IE? (JavaScript)
- 21. Capture d'écran avec le curseur de la souris
- 22. Définir le curseur de souris personnalisé en flex
- 23. Changer le curseur global de la souris dans .NET
- 24. C# Changer le curseur global de la souris
- 25. Comment cacher des lignes spécifiques d'un curseur en android
- 26. Comment cacher le curseur dans une application Swing?
- 27. Le curseur de la souris se fige dans Windows LabView
- 28. Comment cacher une div adjacente lorsque je souris d'un élément de menu, en utilisant JQuery?
- 29. Changer le curseur de la souris sur une page html
- 30. Problème avec glisser le curseur de la souris avec Python
J'ai effectué ma question - est-ce possible sans utiliser un JFrame? – thekidder
@thekidder: Voir la nouvelle réponse! – dacwe
Oui, c'était mon soupçon. Merci! – thekidder