GWT 2.7.0

com.google.gwt.user.client.ui
Class RadioButton

java.lang.Object
  extended by com.google.gwt.user.client.ui.UIObject
      extended by com.google.gwt.user.client.ui.Widget
          extended by com.google.gwt.user.client.ui.FocusWidget
              extended by com.google.gwt.user.client.ui.ButtonBase
                  extended by com.google.gwt.user.client.ui.CheckBox
                      extended by com.google.gwt.user.client.ui.RadioButton
All Implemented Interfaces:
IsEditor<LeafValueEditor<java.lang.Boolean>>, HasAllDragAndDropHandlers, HasAllFocusHandlers, HasAllGestureHandlers, HasAllKeyHandlers, HasAllMouseHandlers, HasAllTouchHandlers, HasBlurHandlers, HasClickHandlers, HasDoubleClickHandlers, HasDragEndHandlers, HasDragEnterHandlers, HasDragHandlers, HasDragLeaveHandlers, HasDragOverHandlers, HasDragStartHandlers, HasDropHandlers, HasFocusHandlers, HasGestureChangeHandlers, HasGestureEndHandlers, HasGestureStartHandlers, HasKeyDownHandlers, HasKeyPressHandlers, HasKeyUpHandlers, HasMouseDownHandlers, HasMouseMoveHandlers, HasMouseOutHandlers, HasMouseOverHandlers, HasMouseUpHandlers, HasMouseWheelHandlers, HasTouchCancelHandlers, HasTouchEndHandlers, HasTouchMoveHandlers, HasTouchStartHandlers, HasAttachHandlers, HasValueChangeHandlers<java.lang.Boolean>, HasHandlers, HasDirectionEstimator, HasSafeHtml, EventListener, TakesValue<java.lang.Boolean>, Focusable, HasDirectionalSafeHtml, HasDirectionalText, HasEnabled, HasFocus, HasHTML, HasName, HasText, HasValue<java.lang.Boolean>, HasVisibility, HasWordWrap, IsWidget, SourcesClickEvents, SourcesFocusEvents, SourcesKeyboardEvents, SourcesMouseEvents

public class RadioButton
extends CheckBox

A mutually-exclusive selection radio button widget. Fires ClickEvents when the radio button is clicked, and ValueChangeEvents when the button becomes checked. Note, however, that browser limitations prevent ValueChangeEvents from being sent when the radio button is cleared as a side effect of another in the group being clicked.

Built-in Bidi Text Support

This widget is capable of automatically adjusting its direction according to its content. This feature is controlled by CheckBox.setDirectionEstimator(boolean) or passing a DirectionEstimator parameter to the constructor, and is off by default.

CSS Style Rules

.gwt-RadioButton
the outer element

Example

public class RadioButtonExample implements EntryPoint {

  public void onModuleLoad() {
    // Make some radio buttons, all in one group.
    RadioButton rb0 = new RadioButton("myRadioGroup", "foo");
    RadioButton rb1 = new RadioButton("myRadioGroup", "bar");
    RadioButton rb2 = new RadioButton("myRadioGroup", "baz");

    // Check 'baz' by default.
    rb2.setChecked(true);

    // Add them to the root panel.
    FlowPanel panel = new FlowPanel();
    panel.add(rb0);
    panel.add(rb1);
    panel.add(rb2);
    RootPanel.get().add(panel);
  }
}


Nested Class Summary
 
Nested classes/interfaces inherited from class com.google.gwt.user.client.ui.UIObject
UIObject.DebugIdImpl, UIObject.DebugIdImplEnabled
 
Field Summary
static DirectionEstimator DEFAULT_DIRECTION_ESTIMATOR
           
 
Fields inherited from class com.google.gwt.user.client.ui.CheckBox
directionalTextHelper, inputElem, labelElem
 
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
RadioButton(java.lang.String name)
          Creates a new radio associated with a particular group name.
RadioButton(java.lang.String name, SafeHtml label)
          Creates a new radio associated with a particular group, and initialized with the given HTML label.
RadioButton(java.lang.String name, SafeHtml label, DirectionEstimator directionEstimator)
           
RadioButton(java.lang.String name, SafeHtml label, HasDirection.Direction dir)
           
RadioButton(java.lang.String name, java.lang.String label)
          Creates a new radio associated with a particular group, and initialized with the given HTML label.
RadioButton(java.lang.String name, java.lang.String label, boolean asHTML)
          Creates a new radio button associated with a particular group, and initialized with the given label (optionally treated as HTML).
RadioButton(java.lang.String name, java.lang.String label, DirectionEstimator directionEstimator)
           
RadioButton(java.lang.String name, java.lang.String label, HasDirection.Direction dir)
           
 
Method Summary
protected  void ensureDomEventHandlers()
          No-op.
 void onBrowserEvent(Event event)
          Overridden to send ValueChangeEvents only when appropriate.
 void setName(java.lang.String name)
          Change the group name of this radio button.
 void sinkEvents(int eventBitsToAdd)
          Overridden to defer the call to super.sinkEvents until the first time this widget is attached to the dom, as a performance enhancement.
 
Methods inherited from class com.google.gwt.user.client.ui.CheckBox
addValueChangeHandler, asEditor, getDirectionEstimator, getFormValue, getHTML, getName, getTabIndex, getText, getTextDirection, getValue, getWordWrap, isChecked, isEnabled, onEnsureDebugId, onLoad, onUnload, replaceInputElement, replaceInputElement, setAccessKey, setChecked, setDirectionEstimator, setDirectionEstimator, setEnabled, setFocus, setFormValue, setHTML, setHTML, setTabIndex, setText, setText, setValue, setValue, setWordWrap
 
Methods inherited from class com.google.gwt.user.client.ui.ButtonBase
setHTML
 
Methods inherited from class com.google.gwt.user.client.ui.FocusWidget
addBlurHandler, addClickHandler, addClickListener, addDoubleClickHandler, addDragEndHandler, addDragEnterHandler, addDragHandler, addDragLeaveHandler, addDragOverHandler, addDragStartHandler, addDropHandler, addFocusHandler, addFocusListener, addGestureChangeHandler, addGestureEndHandler, addGestureStartHandler, addKeyboardListener, addKeyDownHandler, addKeyPressHandler, addKeyUpHandler, addMouseDownHandler, addMouseListener, addMouseMoveHandler, addMouseOutHandler, addMouseOverHandler, addMouseUpHandler, addMouseWheelHandler, addMouseWheelListener, addTouchCancelHandler, addTouchEndHandler, addTouchMoveHandler, addTouchStartHandler, getFocusImpl, onAttach, removeClickListener, removeFocusListener, removeKeyboardListener, removeMouseListener, removeMouseWheelListener
 
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, isAttached, isOrWasAttached, onDetach, removeFromParent, replaceElement, setLayoutData, setParent, 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, removeStyleDependentName, removeStyleName, resolvePotentialElement, 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
 
Methods inherited from interface com.google.gwt.safehtml.client.HasSafeHtml
setHTML
 

Field Detail

DEFAULT_DIRECTION_ESTIMATOR

public static final DirectionEstimator DEFAULT_DIRECTION_ESTIMATOR
Constructor Detail

RadioButton

@UiConstructor
public RadioButton(java.lang.String name)
Creates a new radio associated with a particular group name. All radio buttons associated with the same group name belong to a mutually-exclusive set. Radio buttons are grouped by their name attribute, so changing their name using the setName() method will also change their associated group.

Parameters:
name - the group name with which to associate the radio button

RadioButton

public RadioButton(java.lang.String name,
                   SafeHtml label)
Creates a new radio associated with a particular group, and initialized with the given HTML label. All radio buttons associated with the same group name belong to a mutually-exclusive set. Radio buttons are grouped by their name attribute, so changing their name using the setName() method will also change their associated group.

Parameters:
name - the group name with which to associate the radio button
label - this radio button's html label

RadioButton

public RadioButton(java.lang.String name,
                   SafeHtml label,
                   HasDirection.Direction dir)
Parameters:
name - the group name with which to associate the radio button
label - this radio button's html label
dir - the text's direction. Note that DEFAULT means direction should be inherited from the widget's parent element.
See Also:
RadioButton(String, SafeHtml)

RadioButton

public RadioButton(java.lang.String name,
                   SafeHtml label,
                   DirectionEstimator directionEstimator)
Parameters:
name - the group name with which to associate the radio button
label - this radio button's html label
directionEstimator - A DirectionEstimator object used for automatic direction adjustment. For convenience, DEFAULT_DIRECTION_ESTIMATOR can be used.
See Also:
RadioButton(String, SafeHtml)

RadioButton

public RadioButton(java.lang.String name,
                   java.lang.String label)
Creates a new radio associated with a particular group, and initialized with the given HTML label. All radio buttons associated with the same group name belong to a mutually-exclusive set. Radio buttons are grouped by their name attribute, so changing their name using the setName() method will also change their associated group.

Parameters:
name - the group name with which to associate the radio button
label - this radio button's label

RadioButton

public RadioButton(java.lang.String name,
                   java.lang.String label,
                   HasDirection.Direction dir)
Parameters:
name - the group name with which to associate the radio button
label - this radio button's label
dir - the text's direction. Note that DEFAULT means direction should be inherited from the widget's parent element.
See Also:
RadioButton(String, SafeHtml)

RadioButton

public RadioButton(java.lang.String name,
                   java.lang.String label,
                   DirectionEstimator directionEstimator)
Parameters:
name - the group name with which to associate the radio button
label - this radio button's label
directionEstimator - A DirectionEstimator object used for automatic direction adjustment. For convenience, DEFAULT_DIRECTION_ESTIMATOR can be used.
See Also:
RadioButton(String, SafeHtml)

RadioButton

public RadioButton(java.lang.String name,
                   java.lang.String label,
                   boolean asHTML)
Creates a new radio button associated with a particular group, and initialized with the given label (optionally treated as HTML). All radio buttons associated with the same group name belong to a mutually-exclusive set. Radio buttons are grouped by their name attribute, so changing their name using the setName() method will also change their associated group.

Parameters:
name - name the group with which to associate the radio button
label - this radio button's label
asHTML - true to treat the specified label as HTML
Method Detail

onBrowserEvent

public void onBrowserEvent(Event event)
Overridden to send ValueChangeEvents only when appropriate.

Specified by:
onBrowserEvent in interface EventListener
Overrides:
onBrowserEvent in class Widget
Parameters:
event - the event received

setName

public void setName(java.lang.String name)
Change the group name of this radio button. Radio buttons are grouped by their name attribute, so changing their name using the setName() method will also change their associated group. If changing this group name results in a new radio group with multiple radio buttons selected, this radio button will remain selected and the other radio buttons will be unselected.

Specified by:
setName in interface HasName
Overrides:
setName in class CheckBox
Parameters:
name - name the group with which to associate the radio button

sinkEvents

public void sinkEvents(int eventBitsToAdd)
Description copied from class: Widget
Overridden to defer the call to super.sinkEvents until the first time this widget is attached to the dom, as a performance enhancement. Subclasses wishing to customize sinkEvents can preserve this deferred sink behavior by putting their implementation behind a check of isOrWasAttached():
 @Override
 public void sinkEvents(int eventBitsToAdd) {
   if (isOrWasAttached()) {
     /* customized sink code goes here */
   } else {
     super.sinkEvents(eventBitsToAdd);
  }
} 

Overrides:
sinkEvents in class CheckBox
Parameters:
eventBitsToAdd - a bitfield representing the set of events to be added to this element's event set
See Also:
Event

ensureDomEventHandlers

protected void ensureDomEventHandlers()
No-op. CheckBox's click handler is no good for radio button, so don't use it. Our event handling is all done in onBrowserEvent(com.google.gwt.user.client.Event)

Overrides:
ensureDomEventHandlers in class CheckBox

GWT 2.7.0