com.google.gwt.user.client.ui

## Class ValueListBox<T>

- 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.client.ui.ValueListBox<T>

Type Parameters:
  `T` - the value type

All Implemented Interfaces:
  IsEditor<TakesValueEditor<T>>, HasAttachHandlers, HasValueChangeHandlers<T>, HasHandlers, EventListener, TakesValue<T>, Focusable, HasConstrainedValue<T>, HasEnabled, HasValue<T>, HasVisibility, IsRenderable, IsWidget

    public class ValueListBox<T>
    extends Composite
    implements Focusable, HasConstrainedValue<T>, HasEnabled, IsEditor<TakesValueEditor<T>>

Implementation of `HasConstrainedValue` based on a `SelectElement`.

A `Renderer<T>` is used to get user-presentable strings to display in the select element.

### Nested Class Summary

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

`UIObject.DebugIdImpl, UIObject.DebugIdImplEnabled`

### Field Summary

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

`eventsToSink`

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

`DEBUG_ID_PREFIX, MISSING_ELEMENT_ERROR, SETELEMENT_TWICE_ERROR`

### Constructor Summary

Constructors
Constructor and Description
`ValueListBox()`
`ValueListBox(Renderer<? super T> renderer)`
`ValueListBox(Renderer<? super T> renderer, ProvidesKey<T> keyProvider)`

### Method Summary

All Methods Instance Methods Concrete Methods
`HandlerRegistration` `addValueChangeHandler(ValueChangeHandler<T> handler)` Adds a `ValueChangeEvent` handler.
`TakesValueEditor<T>` `asEditor()` Returns a `TakesValueEditor` backed by the ValueListBox.
`int` `getTabIndex()` Gets the widget's position in the tab index.
`T` `getValue()` Gets this object's value.
`boolean` `isEnabled()` Returns true if the widget is enabled, false if not.
`void` `setAcceptableValues(java.util.Collection<T> newValues)` Set the acceptable values.
`void` `setAccessKey(char key)` Sets the widget's 'access key'.
`void` `setEnabled(boolean enabled)` Sets whether this widget is enabled.
`void` `setFocus(boolean focused)` Explicitly focus/unfocus this widget.
`void` `setTabIndex(int index)` Sets the widget's position in the tab index.
`void` `setValue(T value)` Set the value and display it in the select element.
`void` `setValue(T value, boolean fireEvents)` Sets this object's value.

### 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, ensureHandlers, fireEvent, getHandlerCount, getHandlerManager, getLayoutData, getParent, isOrWasAttached, onLoad, onUnload, removeFromParent, replaceElement, setLayoutData, setParent, 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`

### Constructor Detail

#### ValueListBox

    public ValueListBox()

#### ValueListBox

    public ValueListBox(Renderer<? super T> renderer)

#### ValueListBox

    public ValueListBox(Renderer<? super T> renderer,
                        ProvidesKey<T> keyProvider)

### Method Detail

#### addValueChangeHandler

    public HandlerRegistration addValueChangeHandler(ValueChangeHandler<T> handler)

Description copied from interface: `HasValueChangeHandlers`
Adds a `ValueChangeEvent` handler.

Specified by:
  `addValueChangeHandler` in interface `HasValueChangeHandlers<T>`
Parameters:
  `handler` - the handler
Returns:
  the registration for the event

#### asEditor

    public TakesValueEditor<T> asEditor()

Returns a `TakesValueEditor` backed by the ValueListBox.

Specified by:
  `asEditor` in interface `IsEditor<TakesValueEditor<T>>`
Returns:
  an `Editor` of type E

#### getTabIndex

    public int getTabIndex()

Description copied from interface: `Focusable`
Gets the widget's position in the tab index.

Specified by:
  `getTabIndex` in interface `Focusable`
Returns:
  the widget's tab index

#### getValue

    public T getValue()

Description copied from interface: `HasValue`
Gets this object's value.

Specified by:
  `getValue` in interface `TakesValue<T>`
Specified by:
  `getValue` in interface `HasValue<T>`
Returns:
  the object's value
See Also:
  `TakesValue.setValue(V)`

#### isEnabled

    public boolean isEnabled()

Description copied from interface: `HasEnabled`
Returns true if the widget is enabled, false if not.

Specified by:
  `isEnabled` in interface `HasEnabled`

#### setAcceptableValues

    public void setAcceptableValues(java.util.Collection<T> newValues)

Description copied from interface: `HasConstrainedValue`
Set the acceptable values.

Specified by:
  `setAcceptableValues` in interface `HasConstrainedValue<T>`
Parameters:
  `newValues` - the acceptible values

#### setAccessKey

    public void setAccessKey(char key)

Description copied from interface: `Focusable`
Sets the widget's 'access key'. This key is used (in conjunction with a browser-specific modifier key) to automatically focus the widget.

Specified by:
  `setAccessKey` in interface `Focusable`
Parameters:
  `key` - the widget's access key

#### setEnabled

    public void setEnabled(boolean enabled)

Description copied from interface: `HasEnabled`
Sets whether this widget is enabled.

Specified by:
  `setEnabled` in interface `HasEnabled`
Parameters:
  `enabled` - `true` to enable the widget, `false` to disable it

#### setFocus

    public void setFocus(boolean focused)

Description copied from interface: `Focusable`
Explicitly focus/unfocus this widget. Only one widget can have focus at a time, and the widget that does will receive all keyboard events. NOTE: Most browsers fire FocusEvents asynchronously. Especially within GWT tests, you'll need to make your test asynchronous to properly do verifications. See `GWTTestCase#delayTestFinish` for more information on how to do this.

Specified by:
  `setFocus` in interface `Focusable`
Parameters:
  `focused` - whether this widget should take focus or release it

#### setTabIndex

    public void setTabIndex(int index)

Description copied from interface: `Focusable`
Sets the widget'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.

Specified by:
  `setTabIndex` in interface `Focusable`
Parameters:
  `index` - the widget's tab index

#### setValue

    public void setValue(T value)

Set the value and display it in the select element. Add the value to the acceptable set if it is not already there.

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

#### setValue

    public void setValue(T value,
                         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<T>`
Parameters:
  `value` - the object's new value
  `fireEvents` - fire events if true and value is new