在LWJGL上使用Key / MouseListeners?

时间:2012-03-16 13:21:19

标签: java lwjgl

我正在制作一个使用LWJGL的java应用程序(不是游戏),我想知道是否有办法将KeyListeners和MouseListeners添加到应用程序中?

我的设置是我有JFrameCanvasJFrame有一些JPanel侧边栏。我已经尝试将它们添加到JFrame只是为了让它们在我的侧边栏上工作。我尝试将它们添加到我的Canvas只是为了看到它们工作一次。

我知道LWJGL有自己的输入类,但我希望使用Listeners,因为这会在发生时给我输入。

我的问题归结为这个问题,是否有可能将KeyListeners等添加到LWJGL应用程序中,还是有其他方法可以在事件发生时获取事件?或者我被迫创建一个帖子并自己听事件?

2 个答案:

答案 0 :(得分:1)

我知道这是一个老问题,但对于那些阅读此内容并寻找答案的人来说,你知道了(我认为):

您可以创建一个实现KeyListener的类,并将其设置为KeyListener的{​​{1}}。

如果我没有完全错误,只要JFrame处于活动状态,就会监听键输入。希望这可以帮助!

示例:

关键监听器类:

JFrame

主要课程:

public class MyCustomKeyListener implements KeyListener {
    // Implement your key listening
}

这是我创建KeyListeners的方式:gist.github.com

答案 1 :(得分:0)

仅在Windows上使用当前的lwjgl 2.8.2无法实现。

原因是lwjgl的Windows实现破坏了AWT对事件处理所需的关键数据结构。

http://www.java-gaming.org/topics/cannot-add-mouselistener-to-java-awt-canvas-with-lwjgl-on-windows/24650/msg/208505/view.html#msg208505