Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.119.109.119] |
|
Сообщ.
#1
,
|
|
|
URL connection = new URL(URLString).openConnection(); InputStream inStream = connection.getInputStream(); File fileName = new File(URLString); fileNameString = fileName.getName(); File file = new File(folderString+"/" + fileNameString); FileOutputStream outStream = new FileOutputStream(AddDialog.file); int i; while ((i = AddDialog.inStream.read()) != -1){ outStream.write(i); } outStream.close(); inStream.close(); Вот пример скачивания файла с сети. Как отобразить процесс скачивания файла в JProgressBar. Я засовывал "progressBar.setValue(progressBar.getValue() + 1);" в while loop. Но когда файл скачивается этот фрэйм вообще не реагирует. Отходит только после того как файл уже скачан. И только тогда прогресс бар меняет value сразу на сто. Спасибо. |
Сообщ.
#2
,
|
|
|
попробуй у прогресс-бара repaint() вызывать
|
Сообщ.
#3
,
|
|
|
Дело не в этом. Просто когда нажимаю кнопку к которой привинчен вот этот вот функций закачка начинается эта кнопка западает и окошко не реагирует. А сам файл в это время скачивается. И окно отпускает тока после того как файл скачается и соответственно тока тада прогрес бар начинает изменят свой value. А так он и без repaint()'а работает. Мне нужно штоб окно не становилось мёртвым на время закачки (оно наследуется от JFrame). Вот.
|
Сообщ.
#4
,
|
|
|
Цитата Stvol-88 @ И окно отпускает тока после того как файл скачается и соответственно тока тада прогрес бар начинает изменят свой value. А так он и без repaint()'а работает. Работать с OutputStream следует в отдельном потоке, дабы не блокировать event dispatch thread. |
Сообщ.
#5
,
|
|
|
Цитата Stvol-88 @ Дело не в этом. Просто когда нажимаю кнопку к которой привинчен вот этот вот функций закачка начинается эта кнопка западает и окошко не реагирует. А сам файл в это время скачивается. И окно отпускает тока после того как файл скачается и соответственно тока тада прогрес бар начинает изменят свой value. А так он и без repaint()'а работает. Мне нужно штоб окно не становилось мёртвым на время закачки (оно наследуется от JFrame). Вот. Посмотрите документацию по классу SwingWorker. Он в JDK не входит (по крайней мере в 1.5.08), но это сановский класс, который сделан для работы со Swing'ом. |
Сообщ.
#6
,
|
|
|
Цитата Grab[SSAU] @ Он в JDK не входит (по крайней мере в 1.5.08) В Java 6 уже входит. |