2013-11-21 3 views
2

Я разрабатываю приложение, которое требует, чтобы я переопределял нажатые и выпущенные методы в lwuit, чтобы сопоставить определенные функции в игровые клавиши.Softbuttons не отвечает после переопределения клавишных и keyreleased

В игре я отлично работаю, но у меня возникли проблемы с добавлением в приложение более двух команд. Обычно 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 
} 

Надеюсь, что я достаточно ясен с моей проблемой. Пожалуйста, помогите

ответ

0

По-моему, то, что вы хотите сделать, невозможно. Всегда есть команда отмены в функциональной клавише и меню (если добавлено несколько команд) в другой функциональной клавише.

Чтобы получить правильное значение keyCode, чтобы установить еще одну funtionallity на функциональную клавишу, вы должны получить правильный keyCode. Сделайте System.out.println("keycode " + keyCode); перед первой строкой в ​​методе keyReleased

+0

Проблема в том, что меню, т.е. другие команды, добавленные в форму, не отвечают ... например, у меня есть следующая команда и информация, кроме команды отмены ... меню отображается достаточно хорошо, но логика, которую я разместил с командами, не выполняется. . Почему я спрашивал, можно ли его явным образом вызвать эту логику из метода keyreleased, например, проверить, нажата ли следующая команда, или информация – user1513850

+0

вы пытались установить некоторую функциональность для ключаReleased с помощью apropiate keyCode? – Mun0n

+0

как в примере, если я вызываю функцию a(), она работает, но у меня возникла проблема с проверкой для запуска программной клавиши с помощью команд меню ... позвольте мне привести пример «if (evt.getCommand() == backCommand) { function a(); } else if (evt.Command == nextCommand) { function next(); } else if (evt.Command() == infoCommand) { информация о функции(); } ' – user1513850

0

Вам необходимо заменить класс MenuBar, если вы хотите выполнить индивидуальную обработку ключа/меню. Просто подкласс MenuBar и определите свой новый класс в пределах LookAndFeel.

 Смежные вопросы

  • Нет связанных вопросов^_^