javaFX のコンボボックスに問題があります。Scene Builder でコンボボックスを設計します。
<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()
「互換性のないデータタイプです。理由がわかりません。シーンビルダーとネットビーンズは初めてなので、どこが間違っているのか教えてください。」というエラーメッセージが表示されます。
前もって感謝します。