如何使用 JavaFX 创建选择框?
javafxobject oriented programmingprogramming更新于 2025/4/14 13:37:17
选择框包含一组多个选项,允许您仅选择其中之一。这将具有两种状态 显示 和 不显示。显示时,您可以在选择框中看到选项列表,不显示时,它会显示当前选项。默认情况下,选择框中未选择任何选项。
在 JavaFX 中,选择框由类 javafx.scene.control.ChoiceBox<T> 表示。您可以通过实例化此类来创建选择框。
此类具有一个名为 items 的属性,其类型为 ObservableList<T>,它包含要在选择框中显示的选项列表。您可以使用 getItems() 方法检索此列表。
实例化 ChoiceBox 类后,您需要获取可观察列表并使用 add() 或 addAll() 方法向其中添加所有必需的选项。
示例
import javafx.application.Application; import javafx.collections.ObservableList; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.control.ChoiceBox; import javafx.scene.control.Label; 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 ChoiceBoxExample extends Application { public void start(Stage stage) { //创建选择框 ChoiceBox<String> choiceBox = new ChoiceBox<String>(); choiceBox.setValue("English"); //检索可观察列表 ObservableList<String> list = choiceBox.getItems(); //将项目添加到列表 list.add("English"); list.add("Hindi"); list.add("Telugu"); list.add("Tamil"); //设置选择框的位置 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); } }