J'ai ajouté KeyNavigatorBehavior de Java3D à un SimpleUniverse dans mon programme Java3D. Je sais que le KeyNavigatorBehavior détecte quand les flèches haut, bas, gauche et droite sont enfoncées, mais j'aimerais aussi détecter d'autres clés, telles que WASD, mais je n'ai pas eu beaucoup de chance pour googler le comportement du navigateur de clés Java3D.KeyListener personnalisé dans Java3D
Je l'ai regardé le code source KeyNavigatorBehavior, trouvé ici:
et a remarqué que la classe KeyNavigator, trouvé ici:
semble gérer la clé événements. Malheureusement, l'objet est un membre de classe privé sans getter ou setter, donc je ne pense pas que je puisse y accéder.
J'ai également essayé d'ajouter un KeyListener à SimpleUniverse.getCanvas(), mais cela n'a pas fonctionné, et je ne pense pas que ce soit la bonne méthode. Je me demande si quelqu'un pourrait me suggérer comment ajouter mes propres clés à Java3D.
(je me rends compte que je pouvais copier et coller le code source et apporter tous les changements que je dois, mais j'espère qu'il pourrait y avoir une meilleure et alternative moins douloureuse.)
Merci pour l'aide!
Que signifie "ne fonctionne pas"? En supposant que vous utilisez Swing pour créer la fenêtre où vous peignez, je vous suggère de consulter le [Tutoriel KeyListener d'Oracle] (http://docs.oracle.com/javase/tutorial/uiswing/events/keylistener.html). Cela devrait également s'appliquer à une application Java3D. –
Ugh. Merci d'avoir fait remarquer cela. Je me suis dit que ça ne marchait plus et j'ai réalisé que ça marchait - j'oublie juste d'appeler la méthode pour ajouter l'auditeur. Je me sens vraiment bête en ce moment ... si vous voulez afficher cela comme une réponse, je l'accepterai volontiers. – user2570465