如何在 JavaFX 中为选择框添加分隔符?
javafxobject oriented programmingprogramming更新于 2026/1/4 23:40:17
选择框
在 JavaFX 中,选择框由类 javafx.scene.control.ChoiceBox<T> 表示。您可以通过实例化此类来创建选择框。选择框包含一组多个选项,并且只允许您选择其中之一。
它有两种状态 −
显示 − 您可以查看选择框中的选项列表。
不显示 − 您可以查看选择框的当前选择
分隔符
分隔符是一条水平线或垂直线,用于分隔应用程序的 UI 元素。在 JavaFX 中,javafx.scene.control.Separator 类表示分隔符,要创建分隔符,您需要实例化此类。
向选择框添加分隔符
选择框有一个 ObservableList ,其中包含选择列表。您可以使用 add() 或 addAll() 方法将选择添加到此列表中,作为 −
choiceBox.getItems().add(item); 或, choiceBox.getItems().addAll(item1, item2, item3);
您可以使用 add() 或 addAll() 方法将分隔符添加到选择框。add() 方法变体之一允许您指定需要在选择列表中添加项目的索引。
示例
import javafx.application.Application;
import javafx.collections.ObservableList;
import javafx.geometry.HPos;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.ChoiceBox;
import javafx.scene.control.Label;
import javafx.scene.control.Separator;
import javafx.scene.paint.Color;
import javafx.scene.text.Font;
import javafx.scene.text.FontPosture;
import javafx.scene.text.FontWeight;
import javafx.stage.Stage;
public class ChoiceBoxAddingSeparator extends Application {
public void start(Stage stage) {
//创建选择框
ChoiceBox choiceBox = new ChoiceBox();
choiceBox.setValue("English");
//检索可观察列表
ObservableList list = choiceBox.getItems();
//将项目添加到列表
list.add("English");
list.add("Hindi");
list.add("Telugu");
list.add("Tamil");
//创建分隔符
Separator sep = new Separator();
sep.setMaxWidth(80);
sep.setHalignment(HPos.CENTER);
//向选择框添加分隔符
list.add(2, sep);
//设置选择框的位置
choiceBox.setTranslateX(200);
choiceBox.setTranslateY(15);
Label label = new Label("选择显示语言:");
Font font = Font.font("verdana", FontWeight.BOLD, FontPosture.REGULAR, 12);
label.setFont(font);
label.setTranslateX(20);
label.setTranslateY(20);
//将选择框添加到组中
Group root = new Group(choiceBox, label);
//设置舞台
Scene scene = new Scene(root, 595, 170, Color.BEIGE);
stage.setTitle("Choice Box Example");
stage.setScene(scene);
stage.show();
}
public static void main(String args[]){
launch(args);
}
}
输出


