LWUIT Tab tab / проблема с фокусом списка - PullRequest
0 голосов
/ 15 февраля 2012

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

Я попытался переопределить метод 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 выделен.Теперь, если я нажму игровые клавиши влево / вправо / вниз ... фокус исчезнет из списка и перейдет на вкладку в 3-й позиции.Я ХОЧУ ПРЕДОТВРАТИТЬ ЭТО.(не может публиковать изображения, потому что я новый пользователь. Пожалуйста, проверьте ссылки)

enter image description here

enter image description here

1 Ответ

2 голосов
/ 16 февраля 2012

Получите форму и переопределите keyReleased/keyPresed для определения игрового ключа вправо / влево.

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

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

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

...