如何以编程方式在JavaFX ComboBox中设置字符串值

Rah*_*hah 3 java combobox javafx

基本上,这就是我需要的:

我有一个JavaFX ComboBox,它被设置为可编辑.由于它是可编辑的,因此在那里有一个文本字段,有人可以输入字符串.我想使用以前生成的数据来填充那个小文本字段.我该如何做到这一点?

    enterSchoolName.setSelectionModel((SingleSelectionModel<String>) FXCollections.observableArrayList(studentData.getSchoolName()));
Run Code Online (Sandbox Code Playgroud)

这就是我对相关代码和解决方案"尝试"的所有方法.

jns*_*jns 9

您可以ComboBox在构造函数中设置a的数据项:

 ObservableList<String> data = FXCollections.observableArrayList("text1", "text2", "text3");
 ComboBox<String> comboBox = new ComboBox<>(data);
Run Code Online (Sandbox Code Playgroud)

或以后:

comboBox.setItems(data);
Run Code Online (Sandbox Code Playgroud)

要选择数据项,可以SelectionModel在项目本身中选择适当的索引:

comboBox.getSelectionModel().select(0);
comboBox.getSelectionModel().select("text1");
Run Code Online (Sandbox Code Playgroud)

也可以为组合框编辑器设置一个值,该编辑器不包含在基础数据模型中:

comboBox.setValue("textXXX");
Run Code Online (Sandbox Code Playgroud)