Liebe Java-Gemeinde,
ich stehe schon seit Tagen vor folgendem Problem. Ich möchte über einen Button einen Filechooser starten und nach Auswahl der Datei soll ein ProgressBar den Status anzeigen.
Problem:
Während die Datei gelesen wird, bleibt die Anzeige des ProgressBar unverändert und erst nachdem die Datei eingelesen ist springt die Anzeige auf 100%. Woran kann das liegen?
Hier mein Code:
Gruß,
Michael
ich stehe schon seit Tagen vor folgendem Problem. Ich möchte über einen Button einen Filechooser starten und nach Auswahl der Datei soll ein ProgressBar den Status anzeigen.
Problem:
Während die Datei gelesen wird, bleibt die Anzeige des ProgressBar unverändert und erst nachdem die Datei eingelesen ist springt die Anzeige auf 100%. Woran kann das liegen?
Hier mein Code:
Java:
final JProgressBar progressBar = new JProgressBar();
panel.add(progressBar);
progressBar.setStringPainted(true);
final JButton choose = new JButton("Coe");
panel.add(choose);
choose.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
JFileChooser fileChooser = new JFileChooser();
int returnValue = fileChooser.showOpenDialog(null);
if (returnValue == JFileChooser.APPROVE_OPTION)
{
File selectedFile = fileChooser.getSelectedFile();
try {
int i = 0;
int p = 0;
BufferedReader in = new BufferedReader(new FileReader(selectedFile));
String zeile = null;
while ((zeile = in.readLine()) != null)
{
try
{
System.out.println(count);
p = (int)((100 * i)/512);
progressBar.setValue(p); //Hier wird die ProgressBar aufgerufen
Thread.sleep(250);
}
catch (InterruptedException e)
{}
i++;
System.out.prinln("Zeileninhalt = " + zeile);
}
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
});
Gruß,
Michael