| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Апплеты > Апплет не перерисовывается |
| Автор: lw_ 15.11.2006, 11:18 | ||
| Такая ситуация: есть апплет, на нём есть кнопка, при нажатии на кнопку создаётся компонент JTree оборачивается в ScrollPane и помещается в апплет, но вот незадача вот код:
как ещё можно принудительно перерисовать апплет? |
| Автор: LSD 15.11.2006, 12:07 |
| revalidate() затем repaint(). |
| Автор: lw_ 15.11.2006, 18:58 | ||
попробывал, всё по старому, всё равно сразу после щелчка мыши не отображает дерево приходится изменять размер апплела мышкой, только тогда прорисовывает. |
| Автор: LSD 16.11.2006, 13:20 |
| Что-то я не понял, как ты размер апплета изменяешь? |
| Автор: lw_ 16.11.2006, 14:27 | ||
прошу прощения, может быть не корректно написал. Естественно это происходит не в браузере. Во время отладки, когда запускаю его appletviewer'ом появляется апплет как окно в винде его можно и растягивать и сварачивать и т.д. Дык вот, компилирую запускаю всё прорисовывается и кнопка и текстовое поле, при нажатии на кнопку должно прорисовывааться и JTree, обёрнутое в JScrollPane, но этого не происходит, а вот если растянуть окно, то апплет перерисовывается и выдаёт JTree. Но когда апплет в браузере, то естественно ни чего не происходит, там то уже так не растянешь. Вот в этом то и проблема, как заставить апплет самому перерисоваться после нажатия кнопки, чтоб он сразу выдал дерево. |
| Автор: LSD 16.11.2006, 15:22 |
| 1. Если запустить его в браузере, а затем свернуть и развернуть окно браузера, что будет? 2. У кого ты вызываешь revalidate() и repaint()? |
| Автор: lw_ 17.11.2006, 10:05 | ||||||||||||
| [quote] 1. Если запустить его в браузере, а затем свернуть и развернуть окно браузера, что будет? [/quote ни чего не изменяется, сразу после нажатия кнопки не прорисовывает, и после свёртывания и развёртыванияне не прорисовывает JScrollPane и JTree
у кого тока не вызывал. делал вот так:
и вот так:
и так:
и так
|
| Автор: LSD 17.11.2006, 11:25 | ||
|
| Автор: lw_ 17.11.2006, 13:08 | ||
блин, или я туплю или чего то не понимаю, ругается он на applet.revalidate();, посмотрел в доках нету такого метода у класса Applet |
| Автор: LSD 17.11.2006, 13:16 |
| Ага, нету. Там надо applet.validate();. |
| Автор: lw_ 17.11.2006, 13:40 |
| LSD, Добавлено @ 13:53 вопрос решён |