Как я могу сделать индикатор выполнения с помощью JProgressBar из Swing в Java?JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как я могу сделать индикатор выполнения с помощью JProgressBar из Swing в Java?

Сообщение Anonymous »

Я новичок в параллельных вычислениях. Я работаю над Java в Apache Netbeans. Моя недавняя работа была посвящена семафорам с использованием Java-классов Semaphore и Thread. В этом смысле мне пришлось создать программу, которая с помощью индикаторов выполнения имитирует процесс доставки кредитной карты, который зависит от пяти подпроцессов (моделируемых с помощью потоков). Каждый подпроцесс имеет время, которое моделируется в программе, в данном случае с использованием метода сна из потоков. Реализация семафора заключается в постепенном увеличении панели general в зависимости от других процессов. Если один из них завершен, его можно заполнить на общей панели. Еще следует добавить, что подпроцессы также имеют соответствующие индикаторы выполнения. Моя проблема возникает в классах BarraGeneral и SubProceso, они представляют собой общий процесс и один подпроцесс. В их переопределенных методах запуска я симулирую время и, конечно же, рисую, но этого не происходит. Я могу сказать, что это действительно работает, потому что на консоли вы можете проверить отпечатки, проблема, как я уже сказал, в том, что столбцы не отражают этот прогресс, он просто меняется от 0% до 100%.
Я пытался решить эту проблему, уменьшив время симуляции сна, но проблема не в этом. Кроме того, я отладил, и столбцы фактически меняют свое значение на каждой итерации.
Код:
package espe.edu.ec.laboratorio1p2;

import java.util.ArrayList;
import java.util.concurrent.Semaphore;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JProgressBar;

/**
*
* @author DARÍO BENAVIDES
*/
public class BarraGeneral extends Thread{

private int id;
private Semaphore aportes;
private ArrayList porcentajes;
private int nHilos;
private JProgressBar bar;

BarraGeneral(int id, Semaphore aportes, ArrayList porcentajes, int nHilos, JProgressBar bar){
this.id = id;
this.aportes = aportes;
this.porcentajes = porcentajes;
this.nHilos = nHilos;
this.bar = bar;
}

@Override
public void run(){
int a;
for(int i = 0; i < nHilos; i++){
try {
aportes.acquire();
a = bar.getValue();
bar.setValue(a + porcentajes.get(i));
System.out.println(porcentajes.toString());
} catch (InterruptedException ex) {
Logger.getLogger(BarraGeneral.class.getName()).log(Level.SEVERE, null, ex);
}

}
}

}


package espe.edu.ec.laboratorio1p2;

import java.util.ArrayList;
import java.util.concurrent.Semaphore;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JProgressBar;
import javax.swing.event.ChangeListener;

/**
*
* @author DARÍO BENAVIDES
*/
public class SubProceso extends Thread{
private Semaphore aportes;
private int id;
private int tiempo;
private int porcentaje;
private ArrayList porcentajes;
private JProgressBar bar;

SubProceso(Semaphore aportes, int id, int tiempo, int porcentaje, ArrayList porcentajes, JProgressBar bar){
this.aportes = aportes;
this.id = id;
this.tiempo = tiempo;
this.porcentaje = porcentaje;
this.porcentajes = porcentajes;
this.bar = bar;
}

@Override
public void run(){
for(int i = 1; i

Подробнее здесь: https://stackoverflow.com/questions/786 ... ng-on-java
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Почему добавление неопределенного JProgressBar в JTable убивает анимацию?
    Anonymous » » в форуме JAVA
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous
  • Индикатор выполнения Java Swing с динамическим текстом
    Anonymous » » в форуме JAVA
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Есть ли способ отобразить индикатор активности или индикатор выполнения во время ожидания ответа на запрос API Alamofire
    Anonymous » » в форуме IOS
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Java Swing Swing Slow X11.
    Anonymous » » в форуме JAVA
    0 Ответы
    26 Просмотры
    Последнее сообщение Anonymous
  • Java Swing Swing Slow X11.
    Anonymous » » в форуме JAVA
    0 Ответы
    31 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»