![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| _Y_ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1651 Регистрация: 27.11.2006 Репутация: 1 Всего: 34 |
Обнаружил вот такой "феномен". Имеем табцицу JTable и две кнопки. Одна кнопка добавляет ряд к таблице, другая убирает все пустые ряды. Теперь делаем так (вариант А):
Вот код программы:
Это сообщение отредактировал(а) _Y_ - 31.12.2010, 14:32 -------------------- Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:) |
|||
|
||||
| jk1 |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1168 Регистрация: 17.10.2008 Где: Санкт-Петербург Репутация: 21 Всего: 75 |
Мне известно два способа решения проблемы.
Первый:
его можно вызывать для каждой ячейки каждого удаляемого столбца. Решение, прямо скажем, далекое от оптимального. Второй способ - конфигурирование самой таблицы. При создании нужно будет сделать следующее:
При попытке нажатия на кнопку таблица теряет фокус и, согласно установленному property, выходит из режима редактирования автоматически. -------------------- Opinions are like assholes — everybody has one |
||||
|
|||||
| _Y_ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1651 Регистрация: 27.11.2006 Репутация: 1 Всего: 34 |
jk1, спасибо, jTable.putClientProperty("terminateEditOnFocusLost", Boolean.TRUE); рулит. Я до такого простого решения не додумался.
Кстати, а где бы посмотреть как и почему это ClientProperty функционирует? -------------------- Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:) |
|||
|
||||
| jk1 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1168 Регистрация: 17.10.2008 Где: Санкт-Петербург Репутация: 21 Всего: 75 |
Client Properties - это механизм, обеспечивающий унификацию механизма задания различных свойств. Если посмотреть внимательно, то оказывается что он реализован в JComponent и наследуется подавляющим большинством Swing-компонент. На уровне конкретного компонента определяется только то, какие property он способен понять и применить. Ничего экстраординарного в этой модели нет, можно было бы с тем же успехом наделать специфических методов для каждого компонента. А изнутри компонента совершенно все равно каким образом было установлено то или иное свойство поведения\состояния. Внутри компонента Client Properties хранятся в отдельной хэш-таблице. Таким образом, Client Properties - всего лишь еще один способ конфигурирования Swing-компонент, наряду с setXXX() методами. Для справки можно пользоваться вот этой таблицей . Что меня всегда удивляло, так это отсутствие нормальной документации от производителя по этому вопросу. И, кстати, гарантий работы этого механизма в будущем тоже. Это сообщение отредактировал(а) jk1 - 31.12.2010, 16:46 -------------------- Opinions are like assholes — everybody has one |
|||
|
||||
| _Y_ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1651 Регистрация: 27.11.2006 Репутация: 1 Всего: 34 |
jk1, теперь вроде понятно. Про такой хэш я знал. Чего не знал - что добавляя в таблицу Property уже определенное в данном компоненте (ссылка, которую ты привел), устанавливаешь значение этого Property.
Спасибо! Это сообщение отредактировал(а) _Y_ - 31.12.2010, 19:41 -------------------- Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:) |
|||
|
||||
| dorogoyIV |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1503 Регистрация: 26.3.2007 Репутация: 36 Всего: 46 |
+ для jk1 (_Y_ с тебя), реально заслужил
|
|||
|
||||
| _Y_ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1651 Регистрация: 27.11.2006 Репутация: 1 Всего: 34 |
dorogoyIV, а я сразу должное отдал
-------------------- Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:) |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |