![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| akula84 |
|
|||
|
Unregistered |
Создаю ProgressMonitor,во время выполнения программы появляется окошко ProgressMonitor, но оно не перерисовыватся(перерисовываю методом см.ниже). В чем может быть проблема?
|
|||
|
||||
| DarkDS |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 748 Регистрация: 6.5.2003 Где: Таллинн, Эстония Репутация: 4 Всего: 16 |
ОТкуда вызывается прорисовка прогресса?
|
|||
|
||||
| akula84 |
|
|||
|
Unregistered |
У меня просто из одного потока, из того же, где происходят и вычисления.
Я так понимаю ошибка где-то тут... а вот как конкретно решить проблему? |
|||
|
||||
| DarkDS |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 748 Регистрация: 6.5.2003 Где: Таллинн, Эстония Репутация: 4 Всего: 16 |
Самый простой способ вызывать изменения в ivokelater.
+ все вычисления не производить в евент треде. Добавлено @ 15:31 ЗЫ. если что - могу ближе к вечеру маленький пример накидать... |
|||
|
||||
| akula84 |
|
|||
|
Unregistered |
Если не сложно-скинь, плиз. А то, я что-то совсем запутался.
Спасибо за помощь |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
Вот простеиший пример. Правда чутка читерский, так как нет основного фрейма и вычисление идет в основном треде (с методом майн) и не касается Евент треда. Но основную идею передает.
В евент треде нужно само вычисление выносить за пределы треда (запускать в отдельном треде).
|
|||
|
||||
| DarkDS |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 748 Регистрация: 6.5.2003 Где: Таллинн, Эстония Репутация: 4 Всего: 16 |
Предидущий пост был мой. Залогинится забыл... Сейчас попробую посложнее пример накидать.
|
|||
|
||||
| DarkDS |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 748 Регистрация: 6.5.2003 Где: Таллинн, Эстония Репутация: 4 Всего: 16 |
Вот накидал. Итак. Имеем 3-и класса. Майн фрейм (JTestFrame) из которого по нажатию кнопки будет вызыватся рабочий тред и прогресс диалог.
1. JTestFrame - основной фрейм.
2. JProgressDlg - диалог прогресса.
3. WorkThread - место где выполняется вся работа.
Добавлено @ 00:10 ЗЫ. По идее нужно еще отлавливать закрытие прогресс диалога, но этого я не делал. Думаю на данном этапе как примера этого хватит Если что - можно будет еще что нибудь сделать |
||||||
|
|||||||
| akula84 |
|
|||
|
Unregistered |
При использовании
появление progressMonitor происходит только в самом конце выполнения задания.(почему так происходит |
|||
|
||||
| DarkDS |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 748 Регистрация: 6.5.2003 Где: Таллинн, Эстония Репутация: 4 Всего: 16 |
Скорее всего задание выполняется в контексте Евент треда.
|
|||
|
||||
![]()
|
| Правила форума "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. |