Ich verwende diese Klasse, um Elemente zu Tableview javafx hinzuzufügen, aber es fügt nur die letzte Zeile der Datei zu Tableview hinzu.
Ich benutze ObservableList in dieser Klasse
Wie kann ich dieses Problem lösen?Hinzufügen von Element zu TableView aus Datei mit Schleife
public class MyTicket {
String name;
@FXML
private Button back;
@FXML
private TableView<ShowTicket> table;
@FXML
private TableColumn<ShowTicket, String> origin;
@FXML
private TableColumn<ShowTicket, String> goal;
@FXML
private TableColumn<ShowTicket, String> date;
public void addName(String userName){
name= userName;
}
public void adddata(){
String originFile= name + "\\" +name + "origin" + ".txt";
String goalFile= name + "\\" +name + "goal" + ".txt";
String dateFile= name + "\\" +name + "date" + ".txt";
try {
BufferedReader inputOrigin= new BufferedReader(new FileReader(originFile));
BufferedReader inputGoal= new BufferedReader(new FileReader(goalFile));
BufferedReader inputDate= new BufferedReader(new FileReader(dateFile));
String line1= inputOrigin.readLine();
String line2= inputGoal.readLine();
String line3= inputDate.readLine();
ArrayList<String> or= new ArrayList<>();
ArrayList<String> go= new ArrayList<>();
ArrayList<String> da= new ArrayList<>();
while(line1 != null){
or.add(line1);
go.add(line2);
da.add(line3);
line1= inputOrigin.readLine();
line2= inputGoal.readLine();
line3= inputDate.readLine();
}
int i= or.size();
for(int j=0; j<i; j++){
ObservableList<ShowTicket> contactList= FXCollections.observableArrayList(
new ShowTicket(or.get(j), go.get(j), da.get(j)));
table.setItems(contactList);
origin.setCellValueFactory(new PropertyValueFactory<>("firstName"));
goal.setCellValueFactory(new PropertyValueFactory<>("lastName"));
date.setCellValueFactory(new PropertyValueFactory<>("cellPhone"));
}
inputOrigin.close();
inputGoal.close();
inputDate.close();
}
catch (FileNotFoundException e){
e.printStackTrace();
}
catch (IOException e) {
e.printStackTrace();
}
}//adddata
meine ShowTicket Klasse:
Ist das wahr? : http://textuploader.com/d05fs, aber es ist nicht funktionieren. –