Mar*_*hin 11 java enums enumset
我使用java枚举来定义如何使用按钮渲染模态窗口(Vaadin处理渲染).我的问题是,当我运行gui时,我的按钮每次都以随机顺序出现.所以我的问题是这个,因为我使用枚举设置来保持我的按钮,这将是无序的吗?什么是最好的方式使它成为有序列表?
我的设置枚举
public enum MODAL_SETTINGS {
NEW_MODAL_WINDOW("menu.context.new", "400", MODAL_BUTTON.SAVE, MODAL_BUTTON.CANCEL),
EDIT_MODAL_WINDOW("menu.context.modify","400", MODAL_BUTTON.UPDATE, MODAL_BUTTON.CANCEL),
DELETE_MODAL_WINDOW("menu.context.delete", "250", false, MODAL_BUTTON.DELETE, MODAL_BUTTON.CANCEL);
private EnumSet<MODAL_BUTTON> buttons;
private String caption;
private String width;
private boolean isResizable = true;
private MODAL_SETTINGS(String caption, String width, MODAL_BUTTON... buttons){
this.setCaption(caption);
this.setWidth(width);
this.buttons = EnumSet.copyOf(Arrays.asList(buttons));
}
private MODAL_SETTINGS(String caption, String width, boolean isResizable, MODAL_BUTTON... buttons){
this.setCaption(caption);
this.setWidth(width);
this.isResizable = isResizable;
this.buttons = EnumSet.copyOf(Arrays.asList(buttons));
}
public EnumSet<MODAL_BUTTON> getButtons(){
return buttons;
}
@Override
public String toString(){
String s = super.toString();
s=s.replaceAll("_", ".");
return s;
}
public void setCaption(String caption) {
this.caption = caption;
}
public String getCaption() {
return caption;
}
public void setWidth(String width) {
this.width = width;
}
public String getWidth() {
return width;
}
public boolean isResizable() {
return isResizable;
}
}
Run Code Online (Sandbox Code Playgroud)
我的按钮枚举
public enum MODAL_BUTTON {
SAVE, UPDATE, CANCEL, DELETE;
}
Run Code Online (Sandbox Code Playgroud)
Rob*_*anu 26
使用Enum.values()而不是EnumSet:
请注意,每个枚举类型都有一个静态值方法,该方法返回一个数组,该数组按照声明的顺序返回枚举类型的所有值.此方法通常与for-each循环结合使用,以迭代枚举类型的值.