如何在JavaFX中为选择框添加分隔符?

它有两个状态-


  • 显示-您可以在选项框中看到选项列表。

  • 不显示-您可以看到选择框的当前选择

分隔器

分隔符是水平线或垂直线,用于分隔应用程序的UI元素。在JavaFX中,javafx.scene.control.Separator类代表一个分隔符,要创建一个分隔符,您需要实例化该类。

将分隔符添加到选择框

选择框具有一个ObservableList ,其中包含选择列表。您可以使用add()addAll()方法选择此列表的选项-

choiceBox.getItems().add(item);
or,
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);
   }
}

输出结果