ComboBox 是 JavaFX 库的一部分。JavaFX ComboBox 是简单下拉列表框的实现,它向用户展示一个项目列表,用户最多只能从中选择一个项目,它继承自 ComboBoxBase 类。
ComboBox 的构造函数:
- ComboBox():创建一个默认的空下拉列表框
- ComboBox(ObservableList i):创建一个包含给定项目的下拉列表框
常用方法:
说明
—
此方法获取 editor 属性的值
此方法返回下拉列表框的项目列表
此方法返回 visibleRowCount 属性的值。
此方法设置下拉列表框的项目列表
此方法设置 VisibleRowCount 属性的值下面的程序向我们展示了 JavaFX 的 ComboBox 类是如何使用的:
- 程序:创建一个 Combo Box 并向其中添加项目:在这个程序中,我们将创建一个名为 combobox 的 ComboBox,并使用 ChoiceBox(FXCollections.observableArrayList(weekdays)) 向其中添加一个字符串列表。我们将使用 getChildren().add() 函数将下拉列表框和一个标签(描述)添加到 TilePane(面板)中。我们将创建一个 Stage(舞台容器),将 TilePane 添加到 Scene(场景)中,再将 Scene 添加到 Stage 中。最后,我们将使用 show() 函数来显示这个舞台。
Java
CODEBLOCK_cbf187b6
输出:
- 程序:创建一个 combo box 并为其添加事件处理器:在这个程序中,我们将创建一个名为 combobox 的 ComboBox,并使用 ChoiceBox(FXCollections.observableArrayList(weekdays)) 向其中添加一个字符串列表。我们将使用 getChildren().add() 函数将下拉列表框和一个标签(描述)添加到 TilePane 中。我们将创建一个 Stage(容器),将 TilePane 添加到 Scene 中,再将 Scene 添加到 Stage 中。我们将使用 show() 函数显示这个舞台。此外,我们会为 combo_box 添加一个事件处理器,用于处理事件,该处理器会将名为“selected”的标签文本更改为选中的项目。我们还将把这个标签添加到 TilePane 中。
Java
“
// Java program to create a combo box and add event handler to it
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.layout.*;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.collections.*;
import javafx.stage.Stage;
import javafx.scene.text.Text.*;
import javafx.scene.paint.*;
import javafx.scene.text.*;
public class combobox2 extends Application {
// Launch the application
public void start(Stage stage)
{
// Set title for the stage
stage.setTitle("creating combo box ");
// Create a tile pane
TilePane r = new TilePane();
// Create a label
Label description_label =
new Label("This is a combo box example ");
// Weekdays
String week_days[] =
{ "Monday", "Tuesday", "Wednesday",
"Thursday", "Friday" };
// Create a combo box
ComboBox combo_box =
new ComboBox(FXCollections
.observableArrayList(week_days));
// Label to display the selected menuitem
Label selected = new Label("default item selected");
// Create action event
EventHandler event =
new EventHandler<Ac