2012-02-15 2 views
0

Я встроил 3 'TABS' поверх формы. Каждая вкладка имеет «СПИСОК». Всякий раз, когда я изменяю фокус с одной вкладки на другую, я хочу, чтобы мои списки имели фокус. Как я могу обеспечить, чтобы в моих списках всегда было основное внимание? Я перемещаюсь с помощью игрыKeyEvents. Я добавил actionListener в свою форму для игровых событий. Я не могу переопределить метод keyReleased() формы, так как мне нужно добавить прослушиватель действий в мою форму (он содержит и другие команды).LWUIT Вкладка навигации/список фокус проблема

Я попытался переопределить метод keyreleased() моего класса «Tabs», но это не работает (ПОЧЕМУ?). Ничего не произошло.

Tabs holder = new Tabs() 
    { 
     public void keyReleased(int keyEvent) 
    { 
    System.out.println("key release is working"); // this statement does not work 
    } 
     }; 

Когда я смещаться вкладки, перемещаясь по левой и правой клавиш, мои списки теряют фокус (их выбор становится бесцветным) и в других случаях они держат фокус (их выбор появляется твердый.) Как убедиться, что мой списки всегда имеют фокус? Это очень важно для моей программы. Я привязал снимки. Пожалуйста помогите.

См. Прикрепленные фотографии.

На рисунке 1 вы увидите, что элемент списка 3 выделен. Теперь, если я нажимаю клавиши игры влево/вправо/вниз ... фокус исчезает из списка и переходит на вкладку в третьей позиции. Я ХОЧУ ПРЕДОТВРАТИТЬ ЭТО. (Не в состоянии размещать изображения Потому что является новым пользователем. Пожалуйста, проверьте ссылки)

enter image description here

enter image description here

ответ

2

Выведите формы и переопределить keyReleased/keyPresed для обнаружения игры ключ вправо/влево.

Когда вы получаете правую или левую клавишу, никогда не вызывайте super (всегда вызывайте super для других случаев).

В способе keyPressed, если вы правы/оставите, просто переключите вкладку и вызовите метод requestFocus() для соответствующего списка.

Вам нужно получить кнопки вкладки из компонента «Вкладки» и установить для них фокусное ложное значение, чтобы предотвратить потерю фокуса.

+0

спасибо! :) ..... это работает для меня – Nikhil