Loading…

Mein neuer 15 Stunden Android 7 Kurs

Lern Android 7 und Google Firebase
jetzt Loslegen
JavaFx Tableview neue Tabelle erstellen

TableView mit JavaFx erstellen

Daten lassen sich mit JavaFX und Tabellen durch die TableView wunderschön darstellen. Die TableView ist ein bischen Triggy und ich habe einiges ausprobieren müssen bis es geklappt hat.
Das Besondere an Tabellen mit JavaFX ist, das die Propertys hier verwendet werden aber wenn man diesen kleinen umweg heir geht sollte das kein problem sein.

Mein kleines Tutorial:
Ein Neues FXML Projekt anlegen.

Eine Tabelle in dem FXML Projekt anlegen.
Für mein Beispiel lege ich eine TableView mit 3 Spalten an. Die Spalte ID, Name und Vorname. Alle drei brauchen eine fx:id! Dazu aber gleich genauer.

Die Tabelle wird später aus einer sammlung von Objekten bestehen zum Beispiel aus einer Datenbank.
Damit diese Objekte angelegt werden können muss die dazugehörige Klasse angelegt werden.
Im Prinzip nur eine Normale Modelklasse mit einem unterschied, hier wird nicht mit normalen Variabelen gearbeitet sondern mit SimpleProperty Werten.

Dazu wird eine neue Klasse erstellt. In diesem Beispiel heisst die Klasse „Objekte“.

Die klasse wird einfach mit den Variabelen erstellt die in der Tabelle vorkommen sollen.
Dabei werden aber die SimpleProperty Varianten verwendet wie SimpleIntegerProperty.
Die Getter Methoden mit denen auf die Werte zugegriffen wird werden so geändert das man die Normalen Datentypen zurück bekommt.
Dafür wird bei den Get Methoden einfach die .get() Methode aufgerufen.
Im Konstruktor für ein neues Objekt werden Normale Datentypen eingelesen und dann in die Property Varianten gesetzt!

Im Printzip einfach nach diesem Beispiel aufbauen:

Nachtrag: Es geht auch wenn man eine Normale Klasse anlegt also nur mit Normalen Variablen, der Link von Oracle und die meisten anderen Tutorials sagen zwar was anderes, aber im Test hat es gut geklappt!

 

Danach erstellt man mit dem Scenebilder noch eine Tabelle mit den gewünschten Spalten und vergibt für die Tabelle und für jedes Element der Tabelle eine FX:ID

Ist das gemacht wird über einen Klick auf die FXML Datei und dann MakeController die Controller Klasse Aktuallisiert.
In meinem Beispiel habe ich diesen FXML Code:

 

Die Variabelen des Controllers müssen nach diesem Beispiel angepasst werden:
Am einfachsten mit einem Rechtsklick auf die FXML Datei und Make Controller auswählen.

 

Die observableArrayList ist dafür da das man hier die Tabellendaten hierüber abruft.

Jetzt muss die Tabelle mit Inhalten gefüllt werden.
Dafür wird in der Methode in der man die Tabelle inizialisieren möchte die Tabelle geladen.

JavaFx Tableview neue Tabelle erstellen
JavaFx Tableview neue Tabelle erstellen

 

Meht dazu findet sich hier: