如何在 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);
   }
}

输出


相关文章