繁体   English   中英

Java3D中的自定义KeyListener

[英]Custom KeyListener in Java3D

我已经在Java3D程序的SimpleUniverse中添加了Java3D的KeyNavigatorBehavior。 我知道KeyNavigatorBehavior会检测到按下向上,向下,向左和向右箭头的时间,但是我也想检测其他键,例如WASD,但是没有太多运气来搜索“自定义Java3D键导航器行为”。

我查看了可在此处找到的KeyNavigatorBehavior源代码:

http://www.java2v.com/Open-Source/Java-Document/6.0-JDK-Modules/java-3d/org/jdesktop/j3dfly/utils/vpbehaviors/KeyNavigatorBehavior.java.htm

并注意到可以在此处找到KeyNavigator类:

http://www.java2v.com/Open-Source/Java-Document/6.0-JDK-Modules/java-3d/com/sun/j3d/utils/behaviors/keyboard/KeyNavigator.java.htm

似乎处理关键事件。 不幸的是,该对象是没有getter或setter的私有类成员,因此我认为没有任何方法可以访问它。

我也尝试过将KeyListener添加到SimpleUniverse.getCanvas()中,但这没有用,而且我认为这不是正确的方法。

我想知道是否有人可以建议我如何添加自己的密钥以在Java3D中检测到。

(我意识到我可以复制并粘贴源代码并进行所需的任何更改,但我希望可能会有更好,更轻松的替代方法。)

谢谢您的帮助!

实际上,由于Monad Newb的评论,我找到了问题。 实际上,您可以只使用simpleUniverse.getCanvas()。addKeyListener()将按键侦听器添加到Java3D程序中,按键事件应该可以正常工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM