簡體   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