TextField timeField = new TextField(timeCaption);
timeField.addValidator(new RegexpValidator("(2[0-3]|[0-1]?[0-9])(:[0-5][0-9]){0,2}", timeErrorMessage));
timeField.setImmediate(true);
timeField.setWidth(getAdvisedWidth(timeField), Sizeable.UNITS_PIXELS);
timeField.setNullRepresentation("");
timeField.addListener(new ValueChangeListener() {
@Override
public void valueChange(Property.ValueChangeEvent event) {
updating = true;
updateDateWithTime((Date) dateField.getValue());
updating = false;