Table View in JavaFX
- Home
- Tutorials
- Java
- Der Ultimative JavaFX 8 GUI Kurs - Dein Weg zu tollen GUIs
- Table View in JavaFX
Dieses Video ist nicht verfügbar
Dieses Video steht nur eingeschriebenen Nutzern zur Verfügung.
Jetzt Kurs kaufen
In diesem Artikel behandeln wir Table View in JavaFX. Dabei handelt es sich um einen Weiteren View Typen, der es uns ermöglicht Tabellen zu verwenden und anzuzeigen. Schauen wir uns einmal an wie man einen Table View in JavaFX anlegt
Anlegen eines Table View in JavaFX
Wenn wir nun Spalten nisten wollen, dann brauchen wir
Um zum nächsten Beispiel zu kommen, brauchen wir eine Klasse Person, welche den Vornamen, Nachnamen und das Alter als Attribute besitzt. Diese ist eine interne Klasse, welche sich innerhalb unserer Main Klasse befindet.
[spoiler title='Einfügen von Elementen in die Zellen eines Tabel View in JavaFX']
TableView table = new TableView();
table.setEditable(true);
TableColumn vorNameCol = new TableColumn("Vorname");
TableColumn nachNameCol = new TableColumn("Nachname");
TableColumn emailCol = new TableColumn("Email");
TableColumn alterCol = new TableColumn("Alter");
table.getColumns().addAll(vorNameCol, nachNameCol, emailCol, alterCol);
Zuerst legen wir das Table View Objekt an und initialisieren es. Danach legen wir die ganzen Table Columns (Spalten) an und initialisieren sie. Dann weisen wir dem Table View in JavaFX die ganzen Spalten zu.
Damit erhalten wir folgendes Ergebnis:

TableColumn gebCol = new TableColumn("Geburtsjahr");
TableColumn erfCol = new TableColumn("Erfahrung");
alterCol.getColumns().addAll(gebCol, erfCol);

package application;
import application.Main.Person;
import javafx.application.Application;
import javafx.beans.property.SimpleIntegerProperty;
import javafx.beans.property.SimpleStringProperty;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.scene.layout.GridPane;
import javafx.stage.Stage;
public class Main extends Application {
private final ObservableList data =
FXCollections.observableArrayList(
new Person("Denis", "Panjuta",28),
new Person("Hans", "Wurst", 25),
new Person("Dieter", "Mieter", 33)
);
@Override
public void start(Stage primaryStage) {
try {
// wir legen unser GridPane an
GridPane grid = new GridPane();
// weisen das Padding (interner Abstand) zu
grid.setPadding(new Insets(10, 10, 10, 10));
// und fügen einen kleinen Außenabstand hinzu
grid.setVgap(10);
grid.setHgap(10);
TableView table = new TableView();
table.setEditable(true);
TableColumn vorNameCol = new TableColumn("Vorname");
TableColumn nachNameCol = new TableColumn("Nachname");
TableColumn alterCol = new TableColumn("Alter");
table.getColumns().addAll(vorNameCol, nachNameCol, alterCol);
vorNameCol.setMinWidth(100);
vorNameCol.setCellValueFactory(
new PropertyValueFactory<>("vorname"));
nachNameCol.setMinWidth(100);
nachNameCol.setCellValueFactory(
new PropertyValueFactory<>("nachname"));
alterCol.setMinWidth(100);
alterCol.setCellValueFactory(
new PropertyValueFactory<>("alter"));
table.setItems(data);
GridPane.setConstraints(table, 0,0);
grid.getChildren().addAll(table);
Scene scene = new Scene(grid,400,300);
primaryStage.setScene(scene);
primaryStage.show();
} catch(Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
launch(args);
}
public static class Person {
private final SimpleStringProperty vorname;
private final SimpleStringProperty nachname;
private final SimpleIntegerProperty alter;
private Person(String vName, String nName, int alter) {
this.vorname = new SimpleStringProperty(vName);
this.nachname = new SimpleStringProperty(nName);
this.alter = new SimpleIntegerProperty(alter);
}
public String getVorname() {
return vorname.get();
}
public void setVorname(String fName) {
vorname.set(fName);
}
public String getNachname() {
return nachname.get();
}
public void setLastName(String fName) {
nachname.set(fName);
}
public int getAlter(){
return alter.get();
}
public void setAlter(int fAlter){
alter.set(fAlter);
}
}
}
[/spoiler]
Wir legen also eine ObservableList an, welche 3 Objekte unserer Klasse Person beinhaltet. Diese verwenden wir wiederum um deren Einträge in unsere Zellen einzufügen.

Vorherig
List View in JavaFX
Nächste
Tree View in JavaFX
Der Ultimative JavaFX 8 GUI Kurs - Dein Weg zu tollen GUIs
-
Hier starten
-
Lektion1.1
-
Lektion1.2
-
-
Grundlagen
-
Lektion2.1
-
Lektion2.2
-
Lektion2.3
-
Lektion2.4
-
Lektion2.5
-
Lektion2.6
-
Lektion2.7
-
-
Vollgas zur eigenen Benutzeroberfläche mit UI Controls
-
Lektion3.1
-
Lektion3.2
-
Lektion3.3
-
Lektion3.4
-
Lektion3.5
-
Lektion3.6
-
Lektion3.7
-
Lektion3.8
-
Lektion3.9
-
Lektion3.10
-
Lektion3.11
-
Lektion3.12
-
Lektion3.13
-
Lektion3.14
-
Lektion3.15
-
Lektion3.16
-
Lektion3.17
-
Lektion3.18
-
Lektion3.19
-
Lektion3.20
-
-
Layouts
-
Lektion4.1
-
Lektion4.2
-
Lektion4.3
-
Lektion4.4
-
Lektion4.5
-
Lektion4.6
-
Lektion4.7
-
-
Shapes
-
Lektion5.1
-
Lektion5.2
-
Lektion5.3
-
Lektion5.4
-
Lektion5.5
-
Lektion5.6
-
Lektion5.7
-
-
Charts
-
Lektion6.1
-
Lektion6.2
-
Lektion6.3
-
Lektion6.4
-
Lektion6.5Scatter Chart in JavaFX
-
-
Events
-
Lektion7.1
-
Lektion7.2
-
Lektion7.3
-
Lektion7.4
-
-
Audio und Video
-
Lektion8.1
-
Lektion8.2
-
Lektion8.3
-
-
SceneBuilder
-
Lektion9.1
-
Lektion9.2
-
Lektion9.3
-
Beliebte Kurse
Spring Boot Webentwicklung - RESTful APIs entwickeln!
Lerne Spring Boot und erstelle RESTful APIs Das beliebteste Java...
29,99€
Die Java 11 Masterclass - Werde zum Profi-Entwickler!
Werde zum Entwickler mit der Java 11 Masterclass! Starte in...
29,99€
Spiele entwickeln mit Unity 3D – Erstelle eigene Games in C# - Starter
Willkommen zum kostenlosen Teil des Kurses: "Spiele entwickeln mit Unity...
Kostenlos