我正在努力实现的目标:
我想使用不同速度的多个进度条(JFrame
)制作JProgressBar
。
当一个进度条的值为25,50或75时,它应该停止当前进度条2秒。
但是,截至目前,Thread.sleep()
将停止整个应用。
Timer timer;
ActionListener listener;
listener = new ActionListener() {
int counter = 0;
int delta = 1;
int min = 0;
int max = 100;
public void actionPerformed(ActionEvent ae) {
counter += delta;
if (jRadioButton1.isSelected()) {
if (counter < min || counter > max) {
delta *= -1;
}
counter = Math.min(max, Math.max(min, counter));
jjProgressBar.setValue(counter);
jjProgressBar2.setValue(counter);
jjProgressBar3.setValue(counter);
if (jProgressBar.getValue() == 25 || jProgressBar.getValue() == 0 || jProgressBar.getValue() == 50 || jProgressBar.getValue() == 75 || jProgressBar.getValue() == 100) {
try {
Thread.sleep(1000);
} catch (InterruptedException ex) {
Logger.getLogger(Sim1.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
}
};
timer = new Timer(100, listener);
timer.start();
答案 0 :(得分:0)
您可以随时multithread进度条和Thread.sleep()
个。
Thread.sleep()
在您的特定上下文中没有任何意义,因为它只是一个控制应该是MVC /多线程应用程序的单一应用程序。