Добавление MouseListener ломает Keylistener - PullRequest
1 голос
/ 10 марта 2011

Когда я удаляю все компоненты MouseListener и запускаю апплет, я должен щелкнуть по нему, чтобы выделить его, тогда KeyListener работает отлично. Чтобы решить эту проблему, я добавил «начальную страницу», где вы должны нажать на старт до запуска игры. Это даст фокус апплета и не запустится, пока игрок не будет готов одновременно. Я добавляю MouseListener, и он отлично работает, но теперь KeyListener не регистрируется вообще. Я не могу понять, почему, но я представляю, что это снова связано с фокусом. Кто-нибудь знает, что здесь нужно сделать?

Код можно найти здесь: http://pastebin.com/LDxtk878

Спасибо!

1 Ответ

2 голосов
/ 10 марта 2011

Не изучая все 322 строки вашего кода, вы можете посмотреть статью Как написать прослушиватель ключей , обратив внимание на следующий раздел: «Примечание: для запуска событий клавиатуры,компонент должен иметь фокус клавиатуры. "

Также рассмотрите возможность расширения JApplet в качестве альтернативы.

...