Как выяснить индекс "подсвеченного" элемента в выпавшем списке JComboBox-a? - Java
Формулировка задачи:
Привет коллеги.
Поскажите как выяснить индекс "подсвеченного" элемента в выпавшем списке JComboBox-a?
На панели размещён мой наследник JComboBox-a. Если я при выборе значения из выпавшего списка
использую клавиатуру, то:
обеспечивает меня "текущим" айтемом. Если-же я прокручиваю список мышкой, то увы , вышеупомянутый ItemListener не получает событий.
На экране в выпавшем попап-списке я вижу как на мою мышиную возню реагирует маркер "текущего" положения, а вот какие события генерируются и кто их может услышать — не ясно.
Подскажите , как узнать тот элемент списка, который в сей момент "подсвечен" ?
Насколько я понимаю ПОДСВЕЧЕННЫЙ элемент не выбрам пока по нему не щёлкнешь кнопкой мышки или клавиатуры.
Но вот задача в том и состоит узнать индекс ПОСВЕЧЕННОГО элемента ?
this.addItemListener(new java.awt.event.ItemListener() { public void itemStateChanged(ItemEvent e) {e.getItem();}});
Решение задачи: «Как выяснить индекс "подсвеченного" элемента в выпавшем списке JComboBox-a?»
textual
Листинг программы
ComboPopup cp = (ComboPopup) this.getUI().getAccessibleChild(this,0); cp.getList().getSelectionModel().addListSelectionListener(new javax.swing.event.ListSelectionListener() { public void valueChanged(ListSelectionEvent e) { if(currentIndex<e.getLastIndex()) currentIndex = e.getLastIndex(); else currentIndex = e.getFirstIndex(); } } );
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д