![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
KazOFF |
|
|||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 6.6.2007 Где: Раменское Репутация: нет Всего: нет |
Проблема в следующем: диалог появляется но на нём не появляется прогрессбар, а появляется он только после завершения всех итераций.
Перерыл кучу примеров, но не могу понять почему не отображается даже прогрессбар. |
|||
|
||||
jk1 |
|
||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1168 Регистрация: 17.10.2008 Где: Санкт-Петербург Репутация: 21 Всего: 75 |
Потому что вызывать метода компонентов Swing из потоков, отличных от потока EDT небезопасно - появляются странные непостоянные баги. Попробуйте заменить
на
Есть хороший мануал по этому поводу непосредственно от вендора. -------------------- Opinions are like assholes — everybody has one |
||||||
|
|||||||
soulcub |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 130 Регистрация: 2.2.2010 Где: Винница, Украина Репутация: 2 Всего: 2 |
Немного изменил Ваш код. Может нужно нечто такое? Это сообщение отредактировал(а) soulcub - 9.7.2010, 23:05 --------------------
Так давай же, поспеши!Отыскать СВОЙ куб души! |
|||
|
||||
KazOFF |
|
|||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 6.6.2007 Где: Раменское Репутация: нет Всего: нет |
jk1, после этих операций фрейм появляется только после прохождения цикла.
soulcub, спасибо за код. нечто подобное надо было. просто перенес цикл в run() и всё заработало. Но остался небольшой вопрос: можно ли создать метод, в который вынести dpb.setValue(i) и оставить его в потоке, а вызывать уже в обычном цикле? |
|||
|
||||
soulcub |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 130 Регистрация: 2.2.2010 Где: Винница, Украина Репутация: 2 Всего: 2 |
KazOFF, вам нужно понять что такое поток и для чего он нужен.
Толку? Поток нужен для выполнения постоянной роботы, например какого-то вечного цикла. Для чего в него выносить одну функцию? Если Вы уже так хотите, можно конечно создать поток, зациклить его и сделать некого слушателя переменной, которая отвечает за изменение значения прогресс-бара, а это значение менять извне. Но это нужно делать новый класс-наследник от Thread. Можете заняться, если так надо, но я не вижу смысла. Какой вообще конечный результат, которого Вы хотите добиться? Если это просто диалог с полосочкой, которая бегает, то зачем для этого вообще нужен поток? Поясните, что вы хотите получить в конечном итоге. --------------------
Так давай же, поспеши!Отыскать СВОЙ куб души! |
|||
|
||||
Connie |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 382 Регистрация: 12.8.2008 Репутация: 8 Всего: 9 |
||||
|
||||
KazOFF |
|
|||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 6.6.2007 Где: Раменское Репутация: нет Всего: нет |
Connie, спасибо конечно, но это то место куда я обратился в первую очередь.
soulcub, цель была достигнута после Вашей помощи, а доп. вопрос я задал только ради интереса. Еще раз спасибо. |
|||
|
||||
soulcub |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 130 Регистрация: 2.2.2010 Где: Винница, Украина Репутация: 2 Всего: 2 |
KazOFF, ок, тогда тему можно помечать как решённую)
--------------------
Так давай же, поспеши!Отыскать СВОЙ куб души! |
|||
|
||||
![]() ![]() ![]() |
Правила форума "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. |