Ich habe eine Schaltfläche und wenn ich es anklicke, wird es die progressbar
starten. Wenn ich einmal fertig bin, möchte ich, dass die Fortschrittsleiste zurückgesetzt wird und wenn ich erneut auf die Schaltfläche klicke, wird sie neu gestartet.
Hier ist mein Code:Wie kann ich eine JProgressBar in Java zurücksetzen?
else if (action == detectButton) {
// pb.setVisible(true);
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
pb.setValue(0);
pb.repaint();
}
});
for (int i = 1; i <= 10; i++) {
final int val = i;
SwingUtilities.invokeLater(new Runnable() {
public void run() {
pb.setValue(val);
pb.repaint();
try {
java.lang.Thread.sleep(100);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
}
Nun ist das Problem, dass ist, wenn ich es läuft ok zuerst laufen, aber in zweiter Versuch ist es nicht die progressbar auf 0 Zurücksetzen Wie es tatsächlich tun ??
EDIT:ich die progressbar jedes Mal bin neu zu streichen, aber ich sah, dass es nicht glatt genug ist, 20 zu zeigen, dass 10% ist dann passiert% ..
Was ** ** ist der zweite Versuch passiert? –
Sobald der Fortschrittsbalken einmal beendet ist, dann, wenn ich es zum zweiten Mal klicke, dann bleibt der Fortschritt voll, d. H. Es wird nicht zurückgesetzt –
Kannst du mehr Code zu deiner Frage hinzufügen? Sie haben eine runnable die zurückgesetzt die Fortschrittsleiste in einem eigenen Thread und wartet volle zwei Sekunden, während eine for-Schleife läuft 10 neue runnables –