Wie kann ich den ganzen Tabelleninhalt in Javafx Table auswählen, um diesen in ein file zu exportieren?

1 Antwort

Die absolut  einfachste Variante wäre, du holst dir aus dem Tableview die einzelnen Einträge. Diese sind in einer ObservableList gespeichert.

ObservableList items = tableview.getItems();

Diese Liste kannst du dann per Schleife durchlaufen.

Im Normalfall wenn du mit einem TableView hantierst gibst du an, mit welchem BeanObjekt du arbeiten würdest, d.h. das sähe dann in etwa so aus:

BeanObjekt:

class Person {

  public Person(String name, String nachname) {
   ...
  }

  public StringProperty nameProperty(){
     ....
  }

  public String getName() {
     ...
  }

  public StringProperty nachnameProperty() {
     ....
  }

  public String getNachname() {
     ...
  }

}

Deklaration vom TableView

@FXML
private TableView<Person> tableView;

Anfügen der Daten an den Tableview;

ObservableList<Person> data = FXCollections.observableArrayList();

data.add(new Person("Klaus", "Meier");
data.add(new Person("Knusper", "Pudding");
data.add(new Person("White", "Hat");

tableView.setItems(data);

Abrufen der Daten:

for (Person person : tableView.getItems) {
  System.out.println(person.getName() + " " + person.getNachname();
}

Sofern du jetzt aber explizit nicht auf das Bean gehen möchtest, würde dich dich bitten das hierbei noch zu ergänzen - Vor allem wäre auch ein 'warum' interessant  - Da man hierbei meist eher eine Lösung heraus bekommt.