我有一个枚举类,它使用浮点数作为其值,例如
public enum Size {
SMALL(10.50f),MEDIUM(12.35f),LARGE(15.90f);
private float value;
Size(float value){
this.value = value;
}
public float getValue(){
return this.value;
}
}
我想使用这个枚举来“生成”将用于Jcombobox的列表,用户可以在其中选择一种尺寸。
ddSize.setModel((Size.values()));
我正在尝试使用上面的代码,但是出现以下错误:
error: incompatible types: Size[] cannot be converted to ComboBoxModel<String>
ddSize.setModel((Size.values()));
如果可能,我需要一种方法来使用浮点枚举而不出现此错误。
答案 0 :(得分:0)
setModel
花费了ComboBoxModel<E>
,因此您可以像这样使用DefaultComboBoxModel
来填充JComboBox
:
ddSize.setModel(new DefaultComboBoxModel(Size.values()));
以确保其有效:
IntStream.range(0, ddSize.getItemCount())
.forEach(index -> System.out.println(ddSize.getItemAt(index)));
输出
SMALL
MEDIUM
LARGE