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


Автор: skif18 28.4.2010, 09:42
Опишу проблему. После редактирования ячейки при нажатии Enter фокус пераходит на след ячейку вниз, а если это последнии строка то на след. колонку в той же строке. Это как я понимаю стандарт таблицы. Прописано в классе JTable. 
Есть ли возможность отключить это? Чтобы после редактирования и фокус и selection оставались на той же отредактированной ячейке?

Пытался выйти из положения используя KeyListener для возврата на строку. Но тогда происходит "мигание", то есть движение по таблице "вверх-вниз". отрабатывается движение по умолчанию вниз, а потом я программно возвращаю фокус на верх. а это не красиво...
Может кто уже сталкивался...

Автор: jeank 28.4.2010, 16:28
Код

InputMap im = инстанс_таблицы.getInputMap(JTable.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
KeyStroke enter = KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0);
im.put(enter,"none" );


кажись так

Автор: skif18 29.4.2010, 11:06
сделал проще. перенес все обновления в KeyPressed, но обновление таблицы ессесно не работало после e.consume(). Тогда просто дал в KeyPressed так...
Код

 if(jTable2.isEditing()==true){
     jTable2.getCellEditor().stopCellEditing();
 }

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