如何在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); } }
输出
广告