我对 javaFX 中的组合框有一些问题。我在场景构建器中设计我的组合框:
<ComboBox fx:id="categoryComboBox" prefHeight="21.0" prefWidth="405.0" GridPane.columnIndex="1" GridPane.rowIndex="2">
<items>
<FXCollections fx:factory="observableArrayList">
<String fx:value="Woodenware" />
<String fx:value="Stoneware" />
<String fx:value="Metalware" />
<String fx:value="Fabric" />
</FXCollections>
</items>
</ComboBox>
这是我的控制器类:
@FXML
private ComboBox<?> categoryComboBox;
public void setCategoryComboBox(ComboBox<String> categoryComboBox) {
this.categoryComboBox = categoryComboBox;
}
public ComboBox<String> getCategoryComboBox() {
return categoryComboBox;
}
@FXML
private void comboBoxSelection(ActionEvent event) {
categoryComboBox.getSelectionModel().selectedItemProperty().addListener(new ChangeListener<String>() {
public void changed(ObservableValue<? extends String> ov,
String old_val, String new_val) {
String categoryStr = getCategoryComboBox().getValue().toString(); //Don't know what to put here
}
当我尝试从组合框中获取选定项目时:
int category = panel.getCategoryComboBox().getValue()
它给了我一条错误消息“不兼容的数据类型,我不知道为什么。我是场景构建器和 netbeans 的新手,所以请告诉我我在哪里做错了。
提前致谢。