Hallo,
Ich habe ein Problem mit meinem kleinen Programm und zwar möchte ich aus einer CSV Datei eine Tabelle erstellen lassen, welche dann in einer GUI angezeigt wird. Das Programm zeigt außerdem verschiedene Werte zu den Daten an aber das ist eher nebensächlich vermute ich. Naja das Programm läuft soweit auch mit den gewünschten Funktionen !!!:toll: - aber es ist einfach verdammt langsam :bahnhof: .
Wäre cool wenn mir jemand eine Lösungsvorschlag machen könnte, wie ich etwas mehr Tempo in die Erstellung der Tabelle bringe! Habe mal ein bisschen mit einem Stringbuilder rumprobiert aber dann gibt das Programm nur noch zwei Zeilen aus :'D .
Also es wäre echt super wenn mir wer helfen könnte ! :toll:
Der Hauptteil des Programms :
Ich habe ein Problem mit meinem kleinen Programm und zwar möchte ich aus einer CSV Datei eine Tabelle erstellen lassen, welche dann in einer GUI angezeigt wird. Das Programm zeigt außerdem verschiedene Werte zu den Daten an aber das ist eher nebensächlich vermute ich. Naja das Programm läuft soweit auch mit den gewünschten Funktionen !!!:toll: - aber es ist einfach verdammt langsam :bahnhof: .
Wäre cool wenn mir jemand eine Lösungsvorschlag machen könnte, wie ich etwas mehr Tempo in die Erstellung der Tabelle bringe! Habe mal ein bisschen mit einem Stringbuilder rumprobiert aber dann gibt das Programm nur noch zwei Zeilen aus :'D .
Also es wäre echt super wenn mir wer helfen könnte ! :toll:
Der Hauptteil des Programms :
Java:
JButton btn_Suchen = new JButton("Programm Starten");
btn_Suchen.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
meinLadebalken.setIndeterminate(true);
JFileChooser meinFileChooser = new JFileChooser();
meinFileChooser.showOpenDialog(null);
File DieCSV= meinFileChooser.getSelectedFile();
label_pfad.setText(DieCSV.getAbsolutePath());
label_name.setText(DieCSV.getName());
StringBuilder MeinStringBuilder = new StringBuilder();
try {
meinFileReader = new FileReader(DieCSV);
meinBuffReader = new BufferedReader(meinFileReader);
while((dieZeilen = meinBuffReader.readLine()) != null) {
MeinStringBuilder.append(dieZeilen);
if (erstDurchlauf == 1){
String[] MeinArray = dieZeilen.split(",");
eigeneTabelle.setColumnCount(MeinArray.length);
}
String[] MeinArray = dieZeilen.split("[,;]");
for (int i=0; i<=MeinArray.length-1; i++){
eigeneTabelle.setValueAt(MeinArray[i], row, i);
int bearbeiteterWert = 0;
bearbeiteterWert =Integer.parseInt(MeinArray[i]);
meineSumme = meineSumme + bearbeiteterWert;
meinDurchlauf = meinDurchlauf + 1;
if (bearbeiteterWert > maxWert){
maxWert = bearbeiteterWert;
}
if (bearbeiteterWert < minWert){
minWert = bearbeiteterWert;
}
}
eigeneTabelle.setRowCount(eigeneTabelle.getRowCount() + 1);
row = row + 1;
erstDurchlauf = erstDurchlauf -1;
}
meinLadebalken.setIndeterminate(false);
meinLadebalken.setStringPainted(true);
meinLadebalken.setValue(100);
meinLadebalken.setString("Tabelle wurde erfolgreich erstellt");
} catch (IOException d) {
d.printStackTrace();
}
meinLadebalken.setIndeterminate(false);
}
});
contentPane.setLayout(null);
btn_Suchen.setBounds(15, 25, 150, 50);
contentPane.add(btn_Suchen);
Zuletzt bearbeitet: