Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Поймать потерю фокуса 
:(
    Опции темы
4eJIoBekMoJIekyJIa
Дата 21.11.2008, 03:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 103
Регистрация: 2.11.2007

Репутация: нет
Всего: нет



Всем привет, проблема такая. Есть колонка таблицы, в ней в качестве celleditor'a стоит DefaultCellEditor(JComboBox), нужно отловить окончание редактирования, делаю так
Код

group = new JComboBox();
group.setEditable(true);
group.getEditor().addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
            //обработка
    }
});
getJTable().getColumnModel().getColumn(1).setCellEditor(new DefaultCellEditor(group));

Такое катит, если редактирование заканчивается нажатием ентера, если же просто выделить другую ячейку, программа сюда не заходит(Видимо комбобокс просто лишают фокуса  smile )
Как поймать такое окончание редактирования?
--------------------
PM MAIL   Вверх
w1nd
Дата 21.11.2008, 12:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вертилятор
***


Профиль
Группа: Завсегдатай
Сообщений: 1077
Регистрация: 22.3.2006
Где: Москва

Репутация: 23
Всего: 54



Слушайте сам редактор. См. CellEditorListener


--------------------
user posted imageuser posted image
PM MAIL ICQ   Вверх
4eJIoBekMoJIekyJIa
Дата 21.11.2008, 15:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 103
Регистрация: 2.11.2007

Репутация: нет
Всего: нет



Цитата
Слушайте сам редактор. См. CellEditorListener 

проблема в том, что мне нужно различать, когда в комбобоксе происходит редактирование элемента, а когда просто выбор другого, если слушать сам celleditor то он не различает эти события, поэтому я и начал слушать комбобокс.

--------------------
PM MAIL   Вверх
4eJIoBekMoJIekyJIa
Дата 21.11.2008, 17:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 103
Регистрация: 2.11.2007

Репутация: нет
Всего: нет



Решил проблему с помощью :
Код

    group = new JComboBox();
    group.setEditable(true);
    JTextField l = (JTextField)group.getEditor().getEditorComponent();
    l.setInputVerifier(new ComboInputVerifier());

Всем Спасибо. smile 
--------------------
PM MAIL   Вверх
4eJIoBekMoJIekyJIa
Дата 21.11.2008, 22:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 103
Регистрация: 2.11.2007

Репутация: нет
Всего: нет



Нет, не решил)
Осталось то же самое, не различается выбор элемента из списка, и изменение smile 
какие идеи?

Это сообщение отредактировал(а) 4eJIoBekMoJIekyJIa - 21.11.2008, 22:10
--------------------
PM MAIL   Вверх
4eJIoBekMoJIekyJIa
Дата 25.11.2008, 19:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 103
Регистрация: 2.11.2007

Репутация: нет
Всего: нет



Сделал через
Код

comboBox.getEditor().getEditorComponent().addKeyListener()


Немного кривовато, т.к вызывается при каждом нажатии клавиши, но зато работает
--------------------
PM MAIL   Вверх
4EJIOBEK
Дата 1.12.2008, 15:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 95
Регистрация: 26.3.2007

Репутация: 1
Всего: 4



Как насчет?    
Код


    JComboBox jcBox= new JComboBox();
    jcBox.getModel().addListDataListener(new ListDataListener(){
       public void intervalAdded(ListDataEvent e){}

       public void intervalRemoved(ListDataEvent e){}

       public void contentsChanged(ListDataEvent e){
           System.out.println("Content changed");
       }
    });

PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   jk1
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема »


 




[ Время генерации скрипта: 0.0710 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.