com.google.gwt.user.datepicker.client

## Class DateBox

- java.lang.Object
- - com.google.gwt.user.client.ui.UIObject
  - - com.google.gwt.user.client.ui.Widget
    - - com.google.gwt.user.client.ui.Composite
      - - com.google.gwt.user.datepicker.client.DateBox

- All Implemented Interfaces:
    IsEditor<LeafValueEditor<java.util.Date>>, HasAttachHandlers, HasValueChangeHandlers<java.util.Date>, HasHandlers, EventListener, TakesValue<java.util.Date>, HasEnabled, HasValue<java.util.Date>, HasVisibility, IsRenderable, IsWidget

      public class DateBox
      extends Composite
      implements HasEnabled, HasValue<java.util.Date>, IsEditor<LeafValueEditor<java.util.Date>>

  A text box that shows a `DatePicker` when the user focuses on it.

  ### CSS Style Rules

  .gwt-DateBox
    default style name
  .dateBoxPopup
    Applied to the popup around the DatePicker
  .dateBoxFormatError
    Default style for when the date box has bad input. Applied by `DateBox.DefaultFormat` when the text does not represent a date that can be parsed

  ### Example

  >     public class DateBoxExample implements EntryPoint {

  >       public void onModuleLoad() {
  >         DateBox dateBox = new DateBox();
  >         dateBox.setValue(new Date());
  >         RootPanel.get().add(dateBox);
  >       }
  >     }

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `DateBox.DefaultFormat` Default `DateBox.Format` class.
    `static interface` | `DateBox.Format` Implemented by a delegate to handle the parsing and formating of date values.

    - ### Nested classes/interfaces inherited from class com.google.gwt.user.client.ui.UIObject

      `UIObject.DebugIdImpl, UIObject.DebugIdImplEnabled`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.String` | `DEFAULT_STYLENAME` Default style name.

    - ### Fields inherited from class com.google.gwt.user.client.ui.UIObject

      `DEBUG_ID_PREFIX`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `DateBox()` Create a date box with a new `DatePicker`.
    `DateBox(DatePicker picker, java.util.Date date, DateBox.Format format)` Create a new date box.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `HandlerRegistration` | `addValueChangeHandler(ValueChangeHandler<java.util.Date> handler)` Adds a `ValueChangeEvent` handler.
    `LeafValueEditor<java.util.Date>` | `asEditor()` Returns a `TakesValueEditor` backed by the DateBox.
    `int` | `getCursorPos()` Gets the current cursor position in the date box.
    `DatePicker` | `getDatePicker()` Gets the date picker.
    `boolean` | `getFireNullValues()` Returns true iff the date box will fire `ValueChangeEvents` with a date value of `null` for invalid or empty string values.
    `DateBox.Format` | `getFormat()` Gets the format instance used to control formatting and parsing of this `DateBox`.
    `int` | `getTabIndex()` Gets the date box's position in the tab index.
    `TextBox` | `getTextBox()` Get text box.
    `java.util.Date` | `getValue()` Get the date displayed, or null if the text box is empty, or cannot be interpreted.
    `void` | `hideDatePicker()` Hide the date picker.
    `boolean` | `isDatePickerShowing()` Returns true if date picker is currently showing, false if not.
    `boolean` | `isEnabled()` Returns true if the date box is enabled, false if not.
    `void` | `setAccessKey(char key)` Sets the date box's 'access key'.
    `void` | `setEnabled(boolean enabled)` Sets whether the date box is enabled.
    `void` | `setFireNullValues(boolean fireNullValues)` Sets whether or not the date box will fire `ValueChangeEvents` with a date value of `null` for invalid or empty string values.
    `void` | `setFocus(boolean focused)` Explicitly focus/unfocus this widget.
    `void` | `setFormat(DateBox.Format format)` Sets the format used to control formatting and parsing of dates in this `DateBox`.
    `void` | `setTabIndex(int index)` Sets the date box's position in the tab index.
    `void` | `setValue(java.util.Date date)` Set the date.
    `void` | `setValue(java.util.Date date, boolean fireEvents)` Sets this object's value.
    `void` | `showDatePicker()` Parses the current date box's value and shows that date.

    - ### Methods inherited from class com.google.gwt.user.client.ui.Composite

      `claimElement, getWidget, initializeClaimedElement, initWidget, isAttached, onAttach, onBrowserEvent, onDetach, render, render, resolvePotentialElement, setWidget`

    - ### Methods inherited from class com.google.gwt.user.client.ui.Widget

      `addAttachHandler, addBitlessDomHandler, addDomHandler, addHandler, asWidget, asWidgetOrNull, createHandlerManager, delegateEvent, doAttachChildren, doDetachChildren, fireEvent, getHandlerCount, getLayoutData, getParent, isOrWasAttached, onLoad, onUnload, removeFromParent, setLayoutData, sinkEvents`

    - ### Methods inherited from class com.google.gwt.user.client.ui.UIObject

      `addStyleDependentName, addStyleName, ensureDebugId, ensureDebugId, ensureDebugId, getAbsoluteLeft, getAbsoluteTop, getElement, getOffsetHeight, getOffsetWidth, getStyleElement, getStyleName, getStyleName, getStylePrimaryName, getStylePrimaryName, getTitle, isVisible, isVisible, onEnsureDebugId, removeStyleDependentName, removeStyleName, setElement, setElement, setHeight, setPixelSize, setSize, setStyleDependentName, setStyleName, setStyleName, setStyleName, setStyleName, setStylePrimaryName, setStylePrimaryName, setTitle, setVisible, setVisible, setWidth, sinkBitlessEvent, toString, unsinkEvents`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface com.google.gwt.event.shared.HasHandlers

      `fireEvent`

- - ### Field Detail

    - #### DEFAULT_STYLENAME

          public static final java.lang.String DEFAULT_STYLENAME

      Default style name.
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### DateBox

          public DateBox()

      Create a date box with a new `DatePicker`.

    - #### DateBox

          public DateBox(DatePicker picker,
                 java.util.Date date,
                 DateBox.Format format)

      Create a new date box.
      Parameters:
        `date` - the default date.
        `picker` - the picker to drop down from the date box
        `format` - to use to parse and format dates

  - ### Method Detail

    - #### addValueChangeHandler

          public HandlerRegistration addValueChangeHandler(ValueChangeHandler<java.util.Date> handler)

      Description copied from interface: `HasValueChangeHandlers`
      Adds a `ValueChangeEvent` handler.
      Specified by:
        `addValueChangeHandler` in interface `HasValueChangeHandlers<java.util.Date>`
      Parameters:
        `handler` - the handler
      Returns:
        the registration for the event

    - #### asEditor

          public LeafValueEditor<java.util.Date> asEditor()

      Returns a `TakesValueEditor` backed by the DateBox.
      Specified by:
        `asEditor` in interface `IsEditor<LeafValueEditor<java.util.Date>>`
      Returns:
        an `Editor` of type E

    - #### getCursorPos

          public int getCursorPos()

      Gets the current cursor position in the date box.
      Returns:
        the cursor position

    - #### getDatePicker

          public DatePicker getDatePicker()

      Gets the date picker.
      Returns:
        the date picker

    - #### getFireNullValues

          public boolean getFireNullValues()

      Returns true iff the date box will fire `ValueChangeEvents` with a date value of `null` for invalid or empty string values.

    - #### getFormat

          public DateBox.Format getFormat()

      Gets the format instance used to control formatting and parsing of this `DateBox`.
      Returns:
        the format

    - #### getTabIndex

          public int getTabIndex()

      Gets the date box's position in the tab index.
      Returns:
        the date box's tab index

    - #### getTextBox

          public TextBox getTextBox()

      Get text box.
      Returns:
        the text box used to enter the formatted date

    - #### getValue

          public java.util.Date getValue()

      Get the date displayed, or null if the text box is empty, or cannot be interpreted.
      Specified by:
        `getValue` in interface `TakesValue<java.util.Date>`
      Specified by:
        `getValue` in interface `HasValue<java.util.Date>`
      Returns:
        the current date value
      See Also:
        `TakesValue.setValue(V)`

    - #### hideDatePicker

          public void hideDatePicker()

      Hide the date picker.

    - #### isDatePickerShowing

          public boolean isDatePickerShowing()

      Returns true if date picker is currently showing, false if not.

    - #### isEnabled

          public boolean isEnabled()

      Returns true if the date box is enabled, false if not.
      Specified by:
        `isEnabled` in interface `HasEnabled`

    - #### setAccessKey

          public void setAccessKey(char key)

      Sets the date box's 'access key'. This key is used (in conjunction with a browser-specific modifier key) to automatically focus the widget.
      Parameters:
        `key` - the date box's access key

    - #### setEnabled

          public void setEnabled(boolean enabled)

      Sets whether the date box is enabled.
      Specified by:
        `setEnabled` in interface `HasEnabled`
      Parameters:
        `enabled` - is the box enabled

    - #### setFireNullValues

          public void setFireNullValues(boolean fireNullValues)

      Sets whether or not the date box will fire `ValueChangeEvents` with a date value of `null` for invalid or empty string values.

    - #### setFocus

          public void setFocus(boolean focused)

      Explicitly focus/unfocus this widget. Only one widget can have focus at a time, and the widget that does will receive all keyboard events.
      Parameters:
        `focused` - whether this widget should take focus or release it

    - #### setFormat

          public void setFormat(DateBox.Format format)

      Sets the format used to control formatting and parsing of dates in this `DateBox`. If this `DateBox` is not empty, the contents of date box will be replaced with current contents in the new format.
      Parameters:
        `format` - the new date format

    - #### setTabIndex

          public void setTabIndex(int index)

      Sets the date box's position in the tab index. If more than one widget has the same tab index, each such widget will receive focus in an arbitrary order. Setting the tab index to `-1` will cause this widget to be removed from the tab order.
      Parameters:
        `index` - the date box's tab index

    - #### setValue

          public void setValue(java.util.Date date)

      Set the date.
      Specified by:
        `setValue` in interface `TakesValue<java.util.Date>`
      Specified by:
        `setValue` in interface `HasValue<java.util.Date>`
      Parameters:
        `date` - the object's new value
      See Also:
        `TakesValue.getValue()`

    - #### setValue

          public void setValue(java.util.Date date,
                      boolean fireEvents)

      Description copied from interface: `HasValue`
      Sets this object's value. Fires `ValueChangeEvent` when fireEvents is true and the new value does not equal the existing value.

      It is acceptable to fail assertions or throw (documented) unchecked exceptions in response to bad values.

      Specified by:
        `setValue` in interface `HasValue<java.util.Date>`
      Parameters:
        `date` - the object's new value
        `fireEvents` - fire events if true and value is new

    - #### showDatePicker

          public void showDatePicker()

      Parses the current date box's value and shows that date.