JavaFX组合框

时间:2020-01-09 10:36:35  来源:igfitidea点击:

JavaFX ComboBox控件使用户能够从预定义的选项列表中选择一个选项,如果预定义的选项都不与用户要选择的选项匹配,则键入另一个值。 JavaFX ComboBox控件由类javafx.scene.control.ComboBox表示。这个JavaFX ComboBox教程将说明如何使用ComboBox类。

创建一个组合框

我们只需创建ComboBox类的新实例即可创建ComboBox。这是一个JavaFXComboBox实例化示例:

ComboBox comboBox = new ComboBox();

向组合框添加选择

我们可以通过获取ComboBox的项目集合来添加选择,并向其中添加项目。这是一个向JavaFXComboBox添加选择的示例:

comboBox.getItems().add("Choice 1");
comboBox.getItems().add("Choice 2");
comboBox.getItems().add("Choice 3");

将组合框添加到场景图

为了使ComboBox可见,必须将其添加到场景图中。这意味着必须将" ComboBox"添加到" Scene"对象或者某些布局组件,然后再将其添加到" Scene"对象。

这是一个示例,显示了如何向场景图添加JavaFXComboBox

package com.Hyman.javafx.controls;

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.ComboBox;
import javafx.scene.layout.HBox;
import javafx.stage.Stage;

public class ComboBoxExperiments extends Application  {

    @Override
    public void start(Stage primaryStage) throws Exception {
        primaryStage.setTitle("ComboBox Experiment 1");

        ComboBox comboBox = new ComboBox();

        comboBox.getItems().add("Choice 1");
        comboBox.getItems().add("Choice 2");
        comboBox.getItems().add("Choice 3");

        HBox hbox = new HBox(comboBox);

        Scene scene = new Scene(hbox, 200, 120);
        primaryStage.setScene(scene);
        primaryStage.show();

    }

    public static void main(String[] args) {
        Application.launch(args);
    }
}

运行此示例所产生的应用程序将类似于以下内容:

读取所选值

我们可以通过ComboBoxgetValue()方法读取所选值。如果未选择任何选项,则getValue()方法将返回null。这是调用getValue()的示例:

String value = (String) comboBox.getValue();

使ComboBox可编辑

默认情况下,"组合框"不可编辑。这意味着,默认情况下,用户无法自己输入任何内容,而只能从预定义的选项列表中进行选择。要使ComboBox可编辑,必须调用ComboBoxsetEditable()方法。这是一个使JavaFXComboBox可编辑的示例:

comboBox.setEditable(true);

一旦"组合框"是可编辑的,用户可以在"组合框"中输入值。输入的值也可以通过getValue()方法读取,如前所述。