Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: GUI и Java FX приложения > keyEvents у JTable


Автор: Foo 13.12.2006, 20:49
есть JTable с редактируемыми ячейками.
1)  если кликнуть по ячейке и потом нажать Enter загружается модальная форма на которой тоже JTable, модальная форма закрывается при выдеении ячейки таблицы и нажатии Enter.
2) если сделать двоной щелчек на ячейке она переходит в режим редактирования, можно ввести чсимволы и нажать Enter, при этом тоже должна загрузиться модальная форма с JTable.

Проблема: в случае 2 при нажатии enter во время редактирования ячейки срабатывает только листенер keyReleased, поэтому его нужно обязательно использовать, но если повесить на него событие открытия модального окна и когда оно откроется нажать Enter в ячейке таблицы модального окна, после чего окно закроется, событие keyReleased срабатывает снова, и как следствие открывается снова модальное окно, получается цикл...

Добавлено @ 20:52 
 smile 

Пока пытался сформулировать вопрос нашол решение, нужно ставить

Код

public void keyReleased(KeyEvent e) {
    if (e.getKeyChar() == KeyEvent.VK_ENTER && !getTable().isEditing() ) {
                          search();
        }
}


получается когда редактируеш ячейку и жмеш enter getTable().isEditing()  возвращает false а когда второй раз срабатвает во время нажатия enter на модальной форме true...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)