Is there a way to populate a JavaFX ComboBox or ChoiceBox with all enumerations of a enum ?
Here is what I tried :
public c
I used FXML for this. My enum has a constructor
<ComboBox GridPane.rowIndex="0" GridPane.columnIndex="1">
<items>
<FXCollections fx:factory="observableArrayList">
<Type fx:value="ABC"/>
<Type fx:value="DEF"/>
<Type fx:value="GHI"/>
</FXCollections>
</items>
</ComboBox>
public enum Type {
ABC("abc"),DEF("def"),GHI("ghi");
private String name;
private Type(String theType) {
this.name = theType;
}
}
If setItems requires an ObservableList, then you have to give it one instead of an array.
Try this:
ComboBox<Status> cbxStatus = new ComboBox<>();
cbxStatus.setItems( FXCollections.observableArrayList( Status.values()));
Edit: The solution of James_D (see comment) is the preferred one:
cbxStatus.getItems().setAll(Status.values());