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
`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
`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

All Methods Instance Methods Concrete Methods
`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, unsinkEvents`

### 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`

### 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.