Java 在LWJGL上使用键/鼠标侦听器?

Java 在LWJGL上使用键/鼠标侦听器?,java,lwjgl,Java,Lwjgl,我正在制作一个使用LWJGL的java应用程序(不是游戏),我想知道是否有一种方法可以将KeyListener和MouseListener添加到应用程序中 我的设置是我有一个JFrame和一个Canvas。JFrame有一些JPanel侧栏。我试着将它们添加到JFrame中,结果却让它们在我的边栏上工作。我尝试将它们添加到我的画布中,但只看到它们工作了一次 我知道LWJGL有自己的输入类,但我希望使用监听器,因为当它们发生时,监听器会给我输入 我的问题归结到这一点,是否可以在LWJGL应用程序中

我正在制作一个使用LWJGL的java应用程序(不是游戏),我想知道是否有一种方法可以将KeyListener和MouseListener添加到应用程序中

我的设置是我有一个
JFrame
和一个
Canvas
JFrame
有一些
JPanel
侧栏。我试着将它们添加到
JFrame
中,结果却让它们在我的边栏上工作。我尝试将它们添加到我的
画布中
,但只看到它们工作了一次

我知道LWJGL有自己的输入类,但我希望使用监听器,因为当它们发生时,监听器会给我输入


我的问题归结到这一点,是否可以在LWJGL应用程序中添加KeyListener等,或者是否有其他方法在事件发生时获取事件?还是我必须自己创建一个线程并监听事件?

仅在Windows上使用当前的lwjgl 2.8.2是不可能的

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


我知道这是一个老问题,但对于那些阅读本文并寻找答案的人来说,这里有它(我认为):

您可以创建一个实现
keylister
的类,并将其设置为
JFrame
keylister

如果我没有完全错的话,只要
JFrame
处于活动状态,它就会监听按键输入。希望这有帮助

例如:

关键侦听器类:

主要类别:

这就是我创建KeyListeners的方式:

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

    // Our key listener
    private MyCustomKeyListener keyListener;

    public JFrameWithLWJGL() {
        // Create the key listener
        keyListener = new MyCustomKeyListener();
        // Set all JFrame properties here
        // Add the key listener to the frame
        add(keyListener);
    }

    public static void main(String[] args) {
        // Create an instance of the application
        new JFrameWithLWJGL();
    }
}