powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Лисенеры в JList
10 сообщений из 10, страница 1 из 1
Лисенеры в JList
    #34076202
muchacho
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброе утро всем.

Есть JList, в нем N строчек. При нажатии на клавиатуре 'стрелочки вниз' выделяется следующий элемент JList.
Возникла необходимость сделать такую фичу: если выделен последний элемент в листе и мы нажимаем 'вниз', то должен выделяться первый элемент (и наоборот, если выделен первый и нажимаем вверх, то выделиться должен последний). Т.е. при длительном нажатии на стрелку, "выделение" должно бегать по кругу.
Так вот, проблема в том, что когда я вешаю свой лисенер на keyPressed(KeyEvent e) то выделяется второй элемент списка. Я так понял срабатывает сначала мой лисенер, а потом обрабатывается "встроенный" лисенер JList'а.
Вот такой у меня лисенер.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
 public   void  keyPressed(KeyEvent e)
    { if  (e.getKeyCode() == KeyEvent.VK_DOWN)
        {
            selIndex = getSelectedIndex();
             if  (selIndex == getModel().getSize() -  1 )
            {
                setSelectedValue(getModel().getElementAt( 0 ), true);
            }
        }
    }

Как можно обойти эту проблему?
...
Рейтинг: 0 / 0
Лисенеры в JList
    #34076813
muchacho
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Переформулирую вопрос.
Можно ли отключить лисенеры по умолчанию в JList?
...
Рейтинг: 0 / 0
Лисенеры в JList
    #34077101
Я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Я
Гость
Попробуй AWTEvent.Consume().
Модет, поможет...
...
Рейтинг: 0 / 0
Лисенеры в JList
    #34077336
muchacho
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо огромное! Помогло!
Законсъюмил KeyEvent после обработки в своем лисенере и больше он о себе не напоминал.
...
Рейтинг: 0 / 0
Лисенеры в JList
    #34078259
muchachoПереформулирую вопрос.
Можно ли отключить лисенеры по умолчанию в JList?

ну почему лисенеры? лисенёры какие то!
правильно - листенеры - от слова листен - слушать!
...
Рейтинг: 0 / 0
Лисенеры в JList
    #34078359
mysterio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Рекомендую автору последнего поста ознакомиться с транскрипцией в английском языке ;)
...
Рейтинг: 0 / 0
Лисенеры в JList
    #34084715
Фотография Alex-2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лисенеры писинеры, все равно в топку! Всех любителей консьюма - тоже в топку.
Лучше бы рассказали как встроить KeyListener в дерево
Молчаливый Боб
...
Рейтинг: 0 / 0
Лисенеры в JList
    #34181694
Saphrano
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
можно было и так
if (e.getValueIsAdjusting())
return;
...
Рейтинг: 0 / 0
Лисенеры в JList
    #34182061
Фотография fixxer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mysterioРекомендую автору последнего поста ознакомиться с транскрипцией в английском языке ;)
А Вам рекомендую ознакомиться с правилами введения нового иностранного термина в техническом переводе. Их два: транскрипция и транслитерация. Так что оба варианта имеют право на жизнь. К слову транслитерация используется чаще.
...
Рейтинг: 0 / 0
Лисенеры в JList
    #34182182
Фотография hinotf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вообще, было бы приятнее использовать русскоязычные термины. Такие, как "обработчик" , например.

Nai tiruvantel ar varyuvantel i Valar tieyanna nu vilya
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Лисенеры в JList
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]