Ich versuche, meine Fortschrittsleiste aus einer anderen Klasse zu setzen, aber fehlgeschlagen. Dies ist mein Fortschrittsbalken der Klasse Upload
.Setze Progressbar von einer anderen Klasse
JProgressBar progressBar = new JProgressBar();
progressBar.setBounds(91, 134, 284, 17);
frame.getContentPane().add(progressBar);
Ich habe eine andere Klasse namens Read
. In dieser Klasse habe ich eine Schleife, die eine Datei lesen muss, also möchte ich den Fortschritt mit dem Iterator i
von dieser Klasse festlegen. Ich weiß, dass ich das Minimum und maxium wie folgt festgelegt haben:
progressBar.setMinimum(0);
progressBar.setMaximum(numRows);
Und für den Wert:
progressBar.setValue(newValue);
Wie kann ich den Wert für die progressbar gesetzt, so hält er den Wert von i
Aktualisierung ?
Um Ihre Aktualisierung der Fortschrittleiste beizubehalten, müssen Sie Ihre Datei in einem anderen (Nicht-Swing) Thread lesen. Der beste Weg ist SwingWorker zu verwenden. [Hier] (https://docs.oracle.com/javase/tutorial/uiswing/concurrency/) können Sie darüber lesen. –
@SergiyMedvynskyy Ich bin nicht so weit fortgeschritten in Java, um das meiste zu verstehen. – Gintoki
@Gintoki: 'SwingWorker' ist der einfache Weg. –