Hallo,
Ich habe ein kleines tool, ( geht noch weiter, jedoch reicht dieser code teil denke ich aus )
dort wird ein file eingelesen, in der gui wird die anzahl der zeilen dann dargestellt.
problem: die Gui hängt bis alles eingelesen wurde und aktualisiert sich erst dann.
Lösung: 2Task/Thread ?!
Nur leider weiß ich nicht wie ich es umsetzen kann, bin da noch ziemlich neu.
es ist quasy ein butten der gedrückt wird, da wird dann bisher alles erledigt.
vl kann mir da jemand helfen es so zu basteln das es nicht mehr hängt?
Ich habe ein kleines tool, ( geht noch weiter, jedoch reicht dieser code teil denke ich aus )
dort wird ein file eingelesen, in der gui wird die anzahl der zeilen dann dargestellt.
problem: die Gui hängt bis alles eingelesen wurde und aktualisiert sich erst dann.
Lösung: 2Task/Thread ?!
Nur leider weiß ich nicht wie ich es umsetzen kann, bin da noch ziemlich neu.
es ist quasy ein butten der gedrückt wird, da wird dann bisher alles erledigt.
vl kann mir da jemand helfen es so zu basteln das es nicht mehr hängt?
Java:
package email;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.stage.FileChooser;
public class Controller {
@FXML
public static Label daten;
@FXML
public static Button Datei;
@FXML
public TextField Trennzeichen;
static int i = 0;
@FXML
public void Datei(ActionEvent event) throws IOException, InterruptedException {
FileChooser fileChooser = new FileChooser();
File file = fileChooser.showOpenDialog(null);
FileChooser.ExtensionFilter extFilter = new FileChooser.ExtensionFilter("TXT files (*.txt)", "*.txt");
fileChooser.getExtensionFilters().add(extFilter);
String[] buffer = new String[9];
String[][] data = new String[2000][9];
try {
BufferedReader reader = new BufferedReader(new FileReader(file));
String zeile = reader.readLine();
while (zeile != null) {
if ((zeile.substring(0, 1).equals("I")) || (zeile.substring(0, 1).equals("-"))) {
System.out.println("ha");
} else {
buffer = zeile.split(Trennzeichen.getText());
for (int t = 0; t < buffer.length; t++) {
data[i][t] = buffer[t];
}
++i;
daten.setText("" + i);
}
zeile = reader.readLine();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}