package com.vaadin.tests.components.datefield; import java.util.Calendar; import java.util.Locale; import com.vaadin.server.VaadinRequest; import com.vaadin.shared.ui.datefield.Resolution; import com.vaadin.tests.components.AbstractTestUI; import com.vaadin.ui.Button; import com.vaadin.ui.Button.ClickEvent; import com.vaadin.ui.Button.ClickListener; import com.vaadin.ui.PopupDateField; @SuppressWarnings("serial") public class PopupDateFieldExtendedRange extends AbstractTestUI { private Calendar date = Calendar.getInstance(); @Override protected void setup(VaadinRequest request) { date.set(2011, 0, 1); getLayout().setSpacing(true); final PopupDateField[] fields = new PopupDateField[3]; fields[0] = makeDateField(); fields[0].setLocale(new Locale("fi", "FI")); fields[0].setCaption("Finnish locale"); fields[1] = makeDateField(); fields[1].setLocale(new Locale("en", "US")); fields[1].setCaption("US English locale"); fields[2] = makeDateField(); fields[2].setLocale(new Locale("fi", "FI")); fields[2].setShowISOWeekNumbers(true); fields[2].setCaption("Finnish locale with week numbers"); for (PopupDateField f : fields) { addComponent(f); } addComponent(new Button("Change date", new ClickListener() { @Override public void buttonClick(ClickEvent event) { date.set(2010, 1, 16); for (PopupDateField f : fields) { f.setValue(date.getTime()); } } })); } @Override protected String getTestDescription() { return "Show a few days of the preceding and following months in the datefield popup"; } @Override protected Integer getTicketNumber() { return 6718; } private PopupDateField makeDateField() { PopupDateField pdf = new PopupDateField(); pdf.setResolution(Resolution.DAY); pdf.setValue(date.getTime()); return pdf; } }