Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Java: GUI и Java FX приложения > Определение ячейки в JTable |
Автор: lavan 22.9.2011, 12:47 | ||||||||
Казалось бы простая задача...а нет.Хочу получить значение и номер ячейки которую выбрал пользователь.читаю в книге:"Для того чтобы выбрать ячейку можно использовать
Дальше,существует событие "выбор столбца" и "выбор ряда" для того чтобы узнать индекс ячейки надо обработать эти два события
В принципе получить значение используя этот код можно,но только после второго нажатия по ячейке или (бывает можно обойтись и без этого)но тогда бросается исключение что имеется отриц индекс дальше идет заход во второй обработчик и нужные знач появляются.Хоть это прозрачно для пользователя ЭТО НЕ ПРАВИЛЬНО! Решил исправить ситуацию,добавил метод
Для чего?По скольку метод возвращает true если выбор еще происходит,а при выборе ячейки происходит два события,то полагал что при возникнов только одного из них метод вернет true а значит если объеденить два обработчика в один должно все сработать.Т.е ожидаю: нажатие на ячейке->событие выбор столбца,заход в обработчик,выход из него по if(le.getValueIsAdjusting())return;-заход в тот же обработчик по событию выбор ряда и здесь(по моему мнению) метод le.getValueIsAdjusting() должен был вернуть false...но нет происходит еще один заход в обработчик и только на нем метод возвращает false
1)КАК все таки правильно получить значение ячейки???? 2)В чем ошибка рассуждений при использовании метода le.getValueIsAdjusting()??? |
Автор: pathfinder 22.9.2011, 13:48 | ||
|
Автор: lavan 22.9.2011, 14:11 |
Прокомментируйте пож |