Как обновить графический интерфейс Java из темы?

 private void StartActionPerformed(java.awt.event.ActionEvent evt) {

        Queue queue=new Queue();
        int target=Integer.parseInt(Target.getText());
        String path=Path.getText();
        final Producer p=new Producer(queue, target);
        Consumer c=new Consumer(queue);
        p.start();
        c.start();

        while(p.finish !=true)
        {
          Runnable r = new Runnable() {
            public void run() {
              ProgressPrecent.setValue(Producer.ProgressPercent);
            }
          };
          if(EventQueue.isDispatchThread()) {
            r.run();
          }
          else {
            EventQueue.invokeLater(r);
          }
       }
 }

У меня есть два класса, которые имеют общую очередь. один из них - это производитель, который производит до тех пор, пока другой объект не будет поглощать эти элементы. все два расширяет нить. Я хочу отобразить процент выполнения для пользователя, но он замораживает мой графический интерфейс, так что мне делать?

Ответы на вопрос(2)

Ваш ответ на вопрос