Table des matières
Le Tutoriel de JavaFX ComboBox
View more Tutorials:


ComboBox est un composant de l'interface populaire. Il permet aux utilisateurs de choisir une des options. Lorsque des utilisateurs cliquent sur ComboBox, une liste d'options à sélectionner apparaît.

Vous pouvez créer ComboBox à partir d'une liste des valeurs :
ObservableList<Planet> list = PlanetDAO.getPlanetList();
comboBox.setItems(list);
Vous pouvez également ajouter des éléments à un ComboBox disponible.
Planet uranus = new Planet("URA", "Uranus");
Planet neptune = new Planet("NEP", "Neptune");
comboBox.getItems().addAll(uranus,neptune);

ComboBoxDemo.java
package org.o7planning.javafx.combobox;
import org.o7planning.javafx.model.Planet;
import org.o7planning.javafx.model.PlanetDAO;
import javafx.application.Application;
import javafx.collections.ObservableList;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.ComboBox;
import javafx.scene.control.Label;
import javafx.scene.layout.FlowPane;
import javafx.stage.Stage;
public class ComboBoxDemo extends Application {
@Override
public void start(Stage stage) {
ComboBox<Planet> comboBox = new ComboBox<Planet>();
ObservableList<Planet> list = PlanetDAO.getPlanetList();
comboBox.setItems(list);
comboBox.getSelectionModel().select(1);
FlowPane root = new FlowPane();
root.setPadding(new Insets(5));
root.setHgap(5);
root.getChildren().add(new Label("Select Planet:"));
root.getChildren().add(comboBox);
stage.setTitle("ComboxBox (o7planning.org)");
Scene scene = new Scene(root, 350, 300);
stage.setScene(scene);
stage.show();
}
public static void main(String[] args) {
Application.launch(args);
}
}
Planet.java
package org.o7planning.javafx.model;
public class Planet {
public String code;
private String name;
public Planet() {
}
public Planet(String code, String name) {
this.code = code;
this.name = name;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return this.name;
}
}
PlanetDAO.java
package org.o7planning.javafx.model;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
public class PlanetDAO {
public static ObservableList<Planet> getPlanetList() {
Planet mercury = new Planet("MER", "Mercury");
Planet venus = new Planet("VEN", "Venus");
Planet earth = new Planet("EAR", "Earth");
ObservableList<Planet> list //
= FXCollections.observableArrayList(mercury, venus, earth);
return list;
}
}