enum에서 JavaFX ComboBox 또는 ChoiceBox 채우기


Answers

나는 FXML을 사용했다. 내 enum에는 생성자가 있습니다.

<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;
    }

}
Question

열거 형의 모든 열거 형을 JavaFX ComboBox 또는 ChoiceBox 에 채우는 방법이 있습니까?

여기 내가 시도한 것이있다.

public class Test {

    public enum Status {
        ENABLED("enabled"),
        DISABLED("disabled"),
        UNDEFINED("undefined");

        private String label;

        Status(String label) {
            this.label = label;
        }

        public String toString() {
            return label;
        }
    }
}

다른 클래스에서는 ComboBox 를 채우려고합니다.

    ComboBox<Test.Status> cbxStatus = new ComboBox<>();
    cbxStatus.setItems(Test.Status.values());

하지만 incompatible types: Status[] cannot be converted to ObservableList<Status>

분명 ChoiceBox 같은 문제가 발생합니다.