Mục lục
Hướng dẫn và ví dụ JavaFX ComboBox
Xem thêm các chuyên mục:

Là một website được viết trên công nghệ web Flutter vì vậy hỗ trợ rất tốt cho người học, kể cả những người học khó tính nhất.
Hiện tại website đang tiếp tục được cập nhập nội dung cho phong phú và đầy đủ hơn. Mong các bạn nghé thăm và ủng hộ website mới của chúng tôi.


ComboBox là một thành phần giao diện thông dụng. Nó cho phép người dùng chọn một trong nhiều lựa chọn. Khi người dùng click vào ComboBox, một danh sách các lựa chọn sẽ sổ xuống cho người dùng lựa chọn.

Bạn có thể tạo ComboBox từ một danh sách các giá trị:
ObservableList<Planet> list = PlanetDAO.getPlanetList();
comboBox.setItems(list);
Bạn cũng có thể thêm các phần tử vào một ComboBox có sẵn.
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;
}
}