Привет. Я готовлю форму в java, где хочу показать индикатор выполнения со значениями от 1 до 5 с интервалом в 0,5 секунды, но в моем коде индикатор выполнения переходит прямо с 1 на 5 через 2,5 секунды.
Пожалуйста, помогите мне с кодом ...
public class cafee extends JFrame implements ActionListener {
JProgressBar pr1;
JButton b1;
public cafee() {
setLayout(new FlowLayout());
pr1 = new JProgressBar();
pr1.setSize(10, 1);
pr1.setForeground(Color.blue);
pr1.setMinimum(0);
pr1.setMaximum(5);
pr1.setValue(0);
pr1.setVisible(true);
b1 = new JButton();
b1.setVisible(true);
add(pr1);
add(b1);
b1.addActionListener(this);
}
public void actionPerformed(ActionEvent ae) {
if (ae.getSource() == b1) {
for (int a = 1; a <= 5; a++) {
try {
pr1.setValue(a);
Thread.sleep(500);
} catch (Exception e) {
}
}
}
}
public static void main(String[] args) {
cafee caf = new cafee();
caf.setVisible(true);
caf.setSize(500, 500);
}
}