![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
soulcub |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 130 Регистрация: 2.2.2010 Где: Винница, Украина Репутация: 2 Всего: 2 |
Работаю с редактором таблиц(JTable) в программе, и хотел сделать при выходе что-то типа "Сохранить перед выходом или нет?", для этого требуется чтоб какая-то переменная boolean стала фолс, когда будет хотя бы одна измененная ячейка. Подскажите как это лучше всего реализовать? Нашёл такую штуку как TableCellEditor, там есть что-то типа листенера на редактирование ячеек но надо целый класс переопределять, проще нельзя? Спасибо заранее.
Это сообщение отредактировал(а) soulcub - 19.5.2010, 23:07 --------------------
Так давай же, поспеши!Отыскать СВОЙ куб души! |
|||
|
||||
pathfinder |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 120 Регистрация: 3.3.2010 Репутация: 7 Всего: 10 |
Поскольку таблица данные хранит в TableModel то факт изменения данных нужно отслеживать именно через нее.
Т.е. создаем свою TableModel например наследуя ее от DefaultTableModel, переопределяем метод setValueAt(...) хотя бы вот так
|
|||
|
||||
soulcub |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 130 Регистрация: 2.2.2010 Где: Винница, Украина Репутация: 2 Всего: 2 |
Блин, супер) Как я сам не додумался, это же гениально и просто) Спасибо большое)
--------------------
Так давай же, поспеши!Отыскать СВОЙ куб души! |
|||
|
||||
pathfinder |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 120 Регистрация: 3.3.2010 Репутация: 7 Всего: 10 |
Пожалуйста ) ПС: тему не забываем закрывать.
|
|||
|
||||
soulcub |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 130 Регистрация: 2.2.2010 Где: Винница, Украина Репутация: 2 Всего: 2 |
Стоп стоп стоп) Я не забываю закрывать, если всё ок) Только что попробовал.. Но если менять значение 2 раза кликнув по ячейке и отредактировав, запускается метод setValue?
Всё, разобрался) Но вышло немного не так, как Вы говорили) Переобозначил тот же метод в таблице, а не модели таблицы, и всё заработало. Разве данные хранятся в модели? Это сообщение отредактировал(а) soulcub - 20.5.2010, 15:46 --------------------
Так давай же, поспеши!Отыскать СВОЙ куб души! |
|||
|
||||
pathfinder |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 120 Регистрация: 3.3.2010 Репутация: 7 Всего: 10 |
Для не boolean типов и при использовании стандартных редакторов JTable(т.е. своих не подключали) значение будет записываться в модель, при:
1) уходе из данный ячейки(т.е. переходим на другую строку, или ячейку, или вообще переходим на другой контрол) 2) нажатии комбинации клавиш, интерпритируемых как завершение ввода(для JTextField это Enter) естественно это верно лишь при условии что новое значение может быть сохранено в модель, например введенная строка может быть представлена ввиде числа, иначе сохранения не происходит, редактор остается на месте, сама таблица не дает начать редактирование других ячеек. Добавлено через 2 минуты и 27 секунд ЕСТЕСТВЕННО данные хранятся в модели. Обязательно к прочтению Model-View-Controler |
|||
|
||||
soulcub |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 130 Регистрация: 2.2.2010 Где: Винница, Украина Репутация: 2 Всего: 2 |
Спасибо, обязательно изучим. Я просто факт сказал.. Когда переопределил для модели - ничего не происходило, для таблицы - всё как хотелось. Видимо где-то, что-то, какой-то метод переопределил(а я это делал и с таблицей и с моделью), потому вышло так)
Это сообщение отредактировал(а) soulcub - 20.5.2010, 16:09 --------------------
Так давай же, поспеши!Отыскать СВОЙ куб души! |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |