如何在 JavaFX 中为选择框添加分隔符?
javafxobject oriented programmingprogramming更新于 2025/4/14 13:22: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); } }