Используете Key / MouseListeners на LWJGL? - PullRequest
0 голосов
/ 16 марта 2012

Я делаю Java-приложение (не игру), которое использует LWJGL, и мне было интересно, есть ли способ добавить KeyListeners и MouseListeners в приложение?

У меня есть установка JFrame и Canvas. У JFrame есть некоторые JPanel боковые панели. Я пытался добавить их в JFrame только для того, чтобы они работали на моих боковых панелях. Я пытался добавить их в свой Canvas только для того, чтобы один раз увидеть, как они работают.

Я знаю, что у LWJGL есть свои собственные классы ввода, но я хочу использовать Слушатели, потому что это даст мне входные данные, когда они произойдут.

Мой вопрос сводится к тому, возможно ли добавить KeyListeners и тому подобное в приложения LWJGL или есть другой способ получить события, когда они происходят? Или я вынужден сам создавать тему и слушать события?

Ответы [ 2 ]

1 голос
/ 01 ноября 2014

Я знаю, что это старый вопрос, но для тех, кто читает это и ищет ответ, вот оно (я думаю):

Вы можете создать класс, который реализует KeyListener и установить его как KeyListener для JFrame.

Если я не совсем не прав, он будет прослушивать ввод с клавиатуры, пока активен JFrame. Надеюсь это поможет!

Пример:

Ключевой класс слушателя:

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();
    }
}

Вот как я создаю KeyListeners: gist.github.com !

0 голосов
/ 22 марта 2012

Это невозможно с текущим lwjgl 2.8.2 только для Windows.

Причина в том, что реализация lwjgl для Windows перекрывает ключевую структуру данных, необходимую AWT для обработки событий.

http://www.java -gaming.org / темы / не-надстройка MouseListener к Java-АВТ-холста-с-LWJGL-на-окно / 24650 / сообщи / 208505 / view.html # msg208505

...