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


选择框

在JavaFX中,选择框由类**javafx.scene.control.ChoiceBox<T>**表示。您可以通过实例化此类来创建一个选择框。选择框包含少量多个选项,并且只允许您选择其中一个。

它有两种状态:

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

  • 不显示 - 您只能看到选择框的当前选择。

分隔符

分隔符是水平或垂直线,用于分隔应用程序的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) {
      //Creating a choice box
      ChoiceBox choiceBox = new ChoiceBox();
      choiceBox.setValue("English");
      //Retrieving the observable list
      ObservableList list = choiceBox.getItems();
      //Adding items to the list
      list.add("English");
      list.add("Hindi");
      list.add("Telugu");
      list.add("Tamil");
      //Creating a separator
      Separator sep = new Separator();
      sep.setMaxWidth(80);
      sep.setHalignment(HPos.CENTER);
      //Adding separator to the choice box
      list.add(2, sep);
      //Setting the position of the choice box
      choiceBox.setTranslateX(200);
      choiceBox.setTranslateY(15);
      Label label = new Label("Select Display Language:");
      Font font = Font.font("verdana", FontWeight.BOLD, FontPosture.REGULAR, 12);
      label.setFont(font);
      label.setTranslateX(20);
      label.setTranslateY(20);
      //Adding the choice box to the group
      Group root = new Group(choiceBox, label);
      //Setting the stage
      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);
   }
}

输出

更新于:2020年5月18日

457 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告