为了账号安全,请及时绑定邮箱和手机立即绑定

基于枚举的组合框

基于枚举的组合框

胡子哥哥 2023-09-20 16:12:12
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)。这可能吗?谢谢...
查看完整描述

1 回答

?
交互式爱情

TA贡献1712条经验 获得超3个赞

ComboBox::setItemLabelGenerator

您是否询问是否可以将islemAdi字段显示为组合框中的标签?

您可以指定代码来生成用于显示枚举中的每个项目的标签。打电话ComboBox::setItemLabelGenerator。为您的 getter传递方法引用。然后 Vaadin 根据需要调用此方法来显示每个项目。

cmbSablonSecim.setItemLabelGenerator(EnumSablonSecim::getIslemAdi);
查看完整回答
反对 回复 2023-09-20
  • 1 回答
  • 0 关注
  • 75 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信