Java - захватить KeyEvent при запуске? - PullRequest
2 голосов
/ 26 января 2011

Это предварительный вопрос, чтобы определить, стоит ли мне уделять время реализации, является ли это «экономически эффективным» путем.Я свободно признаю, что еще не пытался реализовать это сам.Я ищу больше понимания и направления, чем блок кода.

Я знаю, что можно захватить KeyEvent в приложении Java, добавив KeyListener к чему-то, что получает фокус, но как раноИнициализация приложения это может быть осуществимо?

Я думаю о добавлении некоторых функций, которые изменяют сам процесс инициализации или содержимое, отображаемое, когда кнопка удерживается во время запуска (например, удерживая SHIFT для сброса или отладки чего-либо).Я не слишком много общался с этими слушателями (и поэтому не знаю, например, к каким контейнерам в библиотеке Swing они уже подключены).Моя проблема заключается в сроках и оперативности такой реализации.В качестве альтернативы, я уже использую реализацию Preferences, к которой я могу просто добавить еще одну переменную, но у нее нет такого же эффекта «в реальном времени».

Это довольно просто,или мне нужно будет заняться порядком инициализации, чтобы сделать его функциональным и отзывчивым?Я просто обдумывал это?

Ответы [ 2 ]

1 голос
/ 26 января 2011

Графический интерфейс должен быть видимым и иметь фокус для начала приема событий.

Вы не должны использовать KeyListener. Вы должны использовать Key Bindings . Или Global Event Listener .

0 голосов
/ 26 января 2011

Если это должно быть выполнено в Windows, и вы хотите использовать что-то, что реагирует на ввод пользователя до того, как GUI запущен и работает, и, возможно, даже изменить его загрузку, то вам, вероятно, придется использовать язык, который может взаимодействоватьнепосредственно с ОС, такой как C / C ++.Другой вариант, если он должен использоваться в среде Windows, - использовать для этого язык сценариев Windows, такой как AutoIt , который доступен бесплатно.

...