基于枚举的组合框

cmbSablonSecim = new ComboBox<>();

cmbSablonSecim.setItems(EnumSablonSecim.values());

我的组合框 --> TUMU、GRAFIK、DAGILIM


我想用 Enum->islemAdi 填充我的组合框


组合框 --> 全部、图形、分布(枚举->进程名称)


public enum EnumSablonSecim {

    TUMU(0, "Tümü"),

    GRAFIK(1, "Grafik"),

    DAGILIM(2, "Dağılım")

    ;


    private final Integer islemKodu;

    private final String islemAdi;


    private EnumSablonSecim(Integer islemKodu, String islemAdi) {

        this.islemKodu = islemKodu;

        this.islemAdi = islemAdi;

    }


    public Integer getIslemKodu() {

        return islemKodu;

    }


    public String getIslemAdi() {

        ResourceBundle messages = I18n.getInstance(this.getClass());

        if (messages.containsKey(islemAdi)) {

            return messages.getString(islemAdi);    

        } else {

            return islemAdi;

        }

    }


    public static EnumSablonSecim get(Integer islemKodu) {

        for (EnumSablonSecim enumSablonSecim : EnumSablonSecim.values()) {

            if (enumSablonSecim.islemKodu == islemKodu) {

                return enumSablonSecim;

            }

        }

        return null;

    }

}

我的组合框必须返回 (islemAdi)。这可能吗?谢谢...


胡子哥哥
浏览 76回答 1
1回答

交互式爱情

ComboBox::setItemLabelGenerator您是否询问是否可以将islemAdi字段显示为组合框中的标签?您可以指定代码来生成用于显示枚举中的每个项目的标签。打电话ComboBox::setItemLabelGenerator。为您的 getter传递方法引用。然后 Vaadin 根据需要调用此方法来显示每个项目。cmbSablonSecim.setItemLabelGenerator(EnumSablonSecim::getIslemAdi);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java