基于枚举的组合框
Enum based Combobox
cmbSablonSecim = new ComboBox<>();
cmbSablonSecim.setItems(EnumSablonSecim.values());
我的组合框 --> TUMU,GRAFIK,DAGILIM
我想用 Enum->islemAdi
填充我的组合框
组合框 --> Tümü,Grafik,Dağılım (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;
}
}
我的组合框必须 return (islemAdi)。这可能吗?谢谢...
ComboBox::setItemLabelGenerator
您是问是否可以将 islemAdi
字段显示为组合框中的标签?
您可以指定代码以生成用于显示枚举中每个项目的标签。为你的 getter 打电话 ComboBox::setItemLabelGenerator
. Pass a method reference。 Vaadin 然后根据需要调用此方法来显示每个项目。
cmbSablonSecim.setItemLabelGenerator(EnumSablonSecim::getIslemAdi);
cmbSablonSecim = new ComboBox<>();
cmbSablonSecim.setItems(EnumSablonSecim.values());
我的组合框 --> TUMU,GRAFIK,DAGILIM
我想用 Enum->islemAdi
填充我的组合框组合框 --> Tümü,Grafik,Dağılım (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;
}
}
我的组合框必须 return (islemAdi)。这可能吗?谢谢...
ComboBox::setItemLabelGenerator
您是问是否可以将 islemAdi
字段显示为组合框中的标签?
您可以指定代码以生成用于显示枚举中每个项目的标签。为你的 getter 打电话 ComboBox::setItemLabelGenerator
. Pass a method reference。 Vaadin 然后根据需要调用此方法来显示每个项目。
cmbSablonSecim.setItemLabelGenerator(EnumSablonSecim::getIslemAdi);