我想创建一个 Bean,您可以在其中选择属性表单下拉列表的值(可能性有限),例如在这种情况下:
我希望能够将用户可以选择的颜色数量限制为两种,红色和蓝色。我的属性是类型Java.awt.Color
如果您正在制作 JavaBean,那么 setter 方法负责验证参数。如果参数无效,则抛出IllegalArgumentException
.
public class ListProperty {
private Color color
//Other properties you like.
public void setColor(Color color) {
if (Color.RED.equals(color) || Color.BLUE.equals(color) {
this.color = color;
} else {
throw new IllegalArgumentException("The color is not red or blue.");
}
}
}
我想在这里使用 Enum 是最好的方法。由于您可以根据您对 Enum 的定义来限制选项,因此您可以严格控制
“布尔属性编辑器是一个离散选项菜单,它覆盖 PropertyEditorSupport.getTags 方法以返回包含“True”和“False”的 String[]:
public String[] getTags() {
String result[] = { "True", "False" };
return result;
}
"
这是做 Bean 值的离散列表的机制。需要覆盖该功能。