Im using java enums to define how to render a modal window with buttons (Vaadin handles the rendering). My problem is that when I run the gui my buttons comes in a randomized order each time. So my question is this, since i use a enum set to hold my buttons, will that be unordered? whats the best way to make it into a ordered list?
My settings enum
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; } } My buttons enum
public enum MODAL_BUTTON { SAVE, UPDATE, CANCEL, DELETE; }