// The ID of a button is BUTTON_BASE_ID + resolution, e.g. button-month
public static final String BUTTON_BASE_ID = "button-";
@Override
protected void setup(VaadinRequest request) {
final DateField dateField = new PopupDateField("Enter date");
dateField.setResolution(Resolution.YEAR);
dateField.setId(DATEFIELD_ID);
dateField.setImmediate(true);
addComponent(dateField);
Label l = new Label("Select resolution");
addComponent(l);
HorizontalLayout hlayout = new HorizontalLayout();
addComponent(hlayout);
for (final Resolution value : Resolution.values()) {
String resolutionString = value.toString().toLowerCase();
Button b = new Button(resolutionString);
b.addClickListener(new ClickListener() {
@Override
public void buttonClick(ClickEvent event) {
dateField.setResolution(value);
}
});
b.setId(BUTTON_BASE_ID + resolutionString);
hlayout.addComponent(b);
}