|
Модераторы: LSD, AntonSaburov |
|
cherodey |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 11.2.2012 Репутация: нет Всего: нет |
Приветствую всех. При написании java апплета столкнулся с проблемой. Суть апплета: продемонстрировать различные варианты компоновки элементов в java. Апплет состоит из двух панелей - на левой панели раположены радиокнопки выбора компоновки, на правой панели набросано 5 кнопок для примера, которые должны расположиться в соответствии с выбранной компоновкой.
Проблема заключается в том, что после нажатия на радиокнопку, перерисовка апплета не происходит. При этом если изменить размер окна апплета, то содержимое перерисовывается. То же самое в браузере IE - после нажатия радиокнопки ничего не происходит, если же изменить размеры окна браузера, то появляются изменения. Пробовал в обработчик нажатия кнопки добавить методы update, repaint и т.д., но ни один из них не заработал. Если же добавить в код this.resize и менять размеры окна на 1 пиксель после каждого нажатия на радиокнопку, то всё работает =) Как сделать правильно, пока не разобрался. Что я не так делаю?
Это сообщение отредактировал(а) cherodey - 12.2.2012, 00:37 |
|||
|
||||
Mirkes |
|
|||
Опытный Профиль Группа: Участник Сообщений: 586 Регистрация: 18.8.2011 Где: Красноярск Репутация: нет Всего: 17 |
Я не так давно столкнулся с аналогичной проблемой. Для перерисовки необходимо вызвать сначала revalidate(); а потом repaint(); мне это помоголо. Вызывать нудно для той панели, в которую вставлены кнопки, демонстрирующие раскладку после изменения раскладки.
И еще, я бы не стал использовать в качестве имени метода paint, хотя дело вкуса. -------------------- Mirkes |
|||
|
||||
cherodey |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 11.2.2012 Репутация: нет Всего: нет |
Спасибо, именно то, что нужно! Достаточно было вызвать PanelShow.revalidate(); после изменений и всё заработало, как надо. А то я уж было собрался оставлять костыли в виде this.resize() =)) |
|||
|
||||
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Апплеты | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |