Программные кнопки не реагируют после отмены нажатия и отпускания клавиши
Я занимаюсь разработкой приложения, которое требует от меня переопределения методов, запускаемых при нажатии и отпускании, в lwuit, чтобы сопоставить определенные функции с игровыми клавишами.
Когда я это делаю, игровые клавиши работают нормально, но у меня возникают проблемы с добавлением в приложение более двух команд. Обычно actionlistener автоматически обрабатывает сопоставление нескольких команд, но это не так.
Можно ли отобразить более одной команды на программную клавишу (например, с кодом клавиши -7) и иметь оператор if для динамической проверки, какая команда нажата.
public void keyReleased(int keyCode) {
switch (keyCode) {
case -6: // left cmd key
function a();
return;
case -7: // right cmd key
//Need this to handle more than one command function
return;
}
//function to handle gamekeys
}
Надеюсь, я достаточно ясно с моей проблемой. Пожалуйста помоги
2 ответа
По моему мнению, то, что ты хочешь сделать, не возможно. В программной клавише всегда есть команда отмены, а в другой программной кнопке меню (если добавлено более одной команды).
Чтобы получить правильный keyCode
, чтобы установить другую функциональную возможность для функциональной клавиши, вы должны получить правильный keyCode
, Делать System.out.println("keycode " + keyCode);
перед первой строкой в методе keyReleased
Вам необходимо заменить MenuBar
класс, если вы хотите сделать пользовательскую обработку клавиш / меню. Просто подкласс MenuBar
и определите свой новый класс в пределах LookAndFeel
,