List View in JavaFX
- Home
- Tutorials
- Java
- Der Ultimative JavaFX 8 GUI Kurs - Dein Weg zu tollen GUIs
- List 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 einen der verschiedenen Views, und zwar List View in JavaFX. Dabei handelt es sich um einen View, in dem man Listenelemente einfügen kann.
Wir haben also mit unserer ObservableList voller Strings unserem ListView die Liste von Items zugewiesen. Dabei trennen wir im observableArrayList einfach nur die Listenelemente mit einem Komma. Ziemlich einfach bisher.
Wir können unsere Liste jedoch noch weiter anpassen. Das machen wir z.B. mit der setPrefSize Funktion
Listen können aber auch Horizontal angeordnet werden, mit der setOrientation Methode
Du siehst also, mit recht wenig Aufwand kann man eine super Liste erstellen und auslesen, welches Element angeklickt wurde.
Für mehr Details zu List View in JavaFX empfehle ich die Oracle Dokumentation.
Anlegen eines List View in JavaFX
ListView<String> list = new ListView<>();
ObservableList<String> items =FXCollections.observableArrayList (
"Hund", "Katze", "Maus", "Pikatchu");
list.setItems(items);
Das sieht dann folgendermaßen aus:

list.setPrefSize(200.0, 200.0);
Damit machen wir die Liste 200 Pixel breit und 200 Pixel hoch.
Aktuell können wir nur einzelne Elemente der Liste auswählen. Wenn wir jedoch mehrere auswählen möchten, benötigen wir lediglich die folgende Methode:
list.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);

list.setOrientation(Orientation.HORIZONTAL);
Aktionen des List View in JavaFX erkennen und verwenden
Schauen wir uns mal an wie man Aktionen eines List View in JavaFX nutzen kann.
// 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);
ListView list = new ListView<>();
ObservableList items =FXCollections.observableArrayList (
"Hund", "Katze", "Maus", "Pikachu");
list.setItems(items);
//list.setPrefSize(200.0, 200.0);
list.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);
//list.setOrientation(Orientation.HORIZONTAL);
Label chosenLabel = new Label("Bitte wähle eines der Objekte");
list.getSelectionModel().selectedItemProperty().addListener(
(ObservableValue<? extends String> ov, String old_val,
String new_val) -> {
chosenLabel.setText("Angewählt: " + new_val);
});
GridPane.setConstraints(chosenLabel, 0,1);
GridPane.setConstraints(list, 0,0);
grid.getChildren().addAll(list,chosenLabel);
Scene scene = new Scene(grid,300,300);
primaryStage.setScene(scene);
primaryStage.show();
} catch(Exception e) {
Der Code befindet sich in der start Methode und ergibt folgendes Resultat:

Vorherig
File Chooser in JavaFX
Nächste
Table 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
Die Java 11 Masterclass - Werde zum Profi-Entwickler!
Werde zum Entwickler mit der Java 11 Masterclass! Starte in...
79,00€
Spiele entwickeln mit Unity 3D – Erstelle eigene Games in C# - Starter
Willkommen zum kostenlosen Teil des Kurses: "Spiele entwickeln mit Unity...
Kostenlos
Werde zum iOS 11 & Swift Entwickler in 6 Wochen - Starter
Willkommen zum kostenlosen Teil des Kurses: "Werde zum iOS 11...
Kostenlos