2015-04-28 3 views
0

Мне нужно показать индикатор выполнения, когда я нажимаю кнопку, и прогресс связан с информацией, отображающей jtextpane.Как я могу связать JProgressBar с другим компонентом?

это метод индикатору выполнения

private JProgressBar getMethodsjProgressBar() { 
    if (methodsjProgressBar == null) { 
     methodsjProgressBar = new JProgressBar(); 
     methodsjProgressBar.setVisible(false); 
     methodsjProgressBar.setStringPainted(true); 
     methodsjProgressBar.setBounds(new Rectangle(20, 244, 103, 22)); 
     methodsjProgressBar.setString("Cargando..."); 
    } 
    return methodsjProgressBar; 
} 

и это одна кнопка

private JButton getLoadMethodsButton() { 
    if (loadMethodsButton == null) { 
     loadMethodsButton = new JButton(); 
     loadMethodsButton.addActionListener(new ActionListener() { 
      public void actionPerformed(ActionEvent arg0) { 
       FileChooserDirectory.getInstance().getAddress(); 
       @SuppressWarnings("unused") 
       LoadClass loadClass = new LoadClass(); 
       methodsjProgressBar.setVisible(true); 
      } 
     }); 
     loadMethodsButton.setText("Buscar clase"); 
     loadMethodsButton.setBounds(237, 255, 126, 26); 
    } 
    return loadMethodsButton; 
} 

я должен знать, что я должен сделать, чтобы изменить значение JProgressBar, когда я Загрузка класс

+0

Извините, но ваш вопрос очень неясно. Пожалуйста, предоставьте более подробную информацию и соответствующий код. Кроме того, это вопрос Swing, поэтому я добавил к этому вопрос тег Swing, но почему Eclipse и особенно теги Eclipse-plugin? Вопрос, похоже, не имеет ничего общего с плагинами Eclipse. –

+0

@Danay: Где вы вызываете метод getMethodsjProgressBar в своем классе java. Только я получаю это в getLoadMethodsButton, вы пытаетесь показать этот прогресс. –

+0

что мне нужно сделать, это изменить процент индикатора выполнения, пока jtextpane загружает контент, извините, но мне сложно объяснить все это на английском, так что будьте терпеливы и спасибо за рекомендации – Danay

ответ

0

Предложения:

  • Сделайте любой входной/выходной файл в фоновом потоке, чтобы не связать поток событий Swing.
  • SwingWorker прекрасно подойдет для вашей фоновой нити.
  • Одним из способов контроля за чтением информации является использование ProgressMonitorInputStream, который отобразит диалоговое окно, если чтение через Stream займет какое-то значительное время.
  • В противном случае, если вы хотите использовать JProgressBar, а затем внутри SwingWorker, установите свойство progress через setProgress(...) на значение от 0 до 100, добавьте PropertyChangeListener в SwingWorker и прослушайте изменения свойства progress, а затем используйте это данные для обновления вашего JProgressBar.
  • Рекомендация стороны: Избегайте использования null макетов и setBounds(...), так как это приведет к очень жесткому графическому интерфейсу, который трудно обновить или поддерживать.

Если вам нужна более подробная помощь, рассмотреть возможность создания и размещения минимальный пример программы

+0

ОК, спасибо, я собираюсь попробовать, и я расскажу вам позже, если это сработает – Danay

Смежные вопросы