На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Следующие правила действуют в данном разделе в дополнение к общим Правилам Форума
1. Здесь обсуждается Java, а не JavaScript! Огромная просьба, по вопросам, связанным с JavaScript, SSI и им подобным обращаться в раздел WWW Masters или, на крайний случай, в Многошум.
2. В случае, если у вас возникают сомнения, в каком разделе следует задать свой вопрос, помещайте его в корневую ветку форума Java. В случае необходимости, он будет перемещен модераторами (с сохранением ссылки в корневом разделе).

3. Запрещается создавать темы с просьбой выполнить какую-то работу за автора темы. Форум является средством общения и общего поиска решения. Вашу работу за Вас никто выполнять не будет.
4. Не рекомендуется создавать несколько несвязанных вопросов в одной теме. Пожалуйста, создавайте по одной теме на вопрос.
Модераторы: dark_barker, wind
  
> Как привинтить JProgressBar к OutputStream?
    ExpandedWrap disabled
      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 сразу на сто.
    Спасибо.
    Сообщение отредактировано: wind -
      попробуй у прогресс-бара repaint() вызывать :)
        Дело не в этом. Просто когда нажимаю кнопку к которой привинчен вот этот вот функций закачка начинается эта кнопка западает и окошко не реагирует. А сам файл в это время скачивается. И окно отпускает тока после того как файл скачается и соответственно тока тада прогрес бар начинает изменят свой value. А так он и без repaint()'а работает. Мне нужно штоб окно не становилось мёртвым на время закачки (оно наследуется от JFrame). Вот.
          Цитата Stvol-88 @
          И окно отпускает тока после того как файл скачается и соответственно тока тада прогрес бар начинает изменят свой value. А так он и без repaint()'а работает.

          Работать с OutputStream следует в отдельном потоке, дабы не блокировать event dispatch thread.
            Цитата Stvol-88 @
            Дело не в этом. Просто когда нажимаю кнопку к которой привинчен вот этот вот функций закачка начинается эта кнопка западает и окошко не реагирует. А сам файл в это время скачивается. И окно отпускает тока после того как файл скачается и соответственно тока тада прогрес бар начинает изменят свой value. А так он и без repaint()'а работает. Мне нужно штоб окно не становилось мёртвым на время закачки (оно наследуется от JFrame). Вот.

            Посмотрите документацию по классу SwingWorker. Он в JDK не входит (по крайней мере в 1.5.08), но это сановский класс, который сделан для работы со Swing'ом.
              Цитата Grab[SSAU] @
              Он в JDK не входит (по крайней мере в 1.5.08)

              В Java 6 уже входит.
              1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
              0 пользователей:


              Рейтинг@Mail.ru
              [ Script execution time: 0,0250 ]   [ 14 queries used ]   [ Generated: 18.05.24, 10:45 GMT ]