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

    java.lang.Object
      com.google.gwt.user.client.ui.UIObject
          com.google.gwt.user.client.ui.Widget
              com.google.gwt.user.client.ui.FocusWidget
                  com.google.gwt.user.client.ui.ButtonBase
                      com.google.gwt.user.client.ui.CheckBox
                          com.google.gwt.user.client.ui.RadioButton

All Implemented Interfaces:
  HasAllFocusHandlers, HasAllKeyHandlers, HasAllMouseHandlers, HasBlurHandlers, HasClickHandlers, HasFocusHandlers, HasKeyDownHandlers, HasKeyPressHandlers, HasKeyUpHandlers, HasMouseDownHandlers, HasMouseMoveHandlers, HasMouseOutHandlers, HasMouseOverHandlers, HasMouseUpHandlers, HasMouseWheelHandlers, HasValueChangeHandlers<java.lang.Boolean>, HasHandlers, EventListener, Focusable, HasFocus, HasHTML, HasName, HasText, HasValue<java.lang.Boolean>, SourcesClickEvents, SourcesFocusEvents, SourcesKeyboardEvents, SourcesMouseEvents

    public class RadioButton

extends CheckBox

A mutually-exclusive selection radio button widget. Fires `ClickEvent`s when the radio button is clicked, and `ValueChangeEvent`s 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.

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

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

Constructor Summary
`RadioButton(java.lang.String name)` Creates a new radio associated with a particular group name.
`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).

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, getFormValue, getHTML, getName, getTabIndex, getText, getValue, isChecked, isEnabled, onEnsureDebugId, onLoad, onUnload, replaceInputElement, setAccessKey, setChecked, setEnabled, setFocus, setFormValue, setHTML, setTabIndex, setText, setValue, setValue`

Methods inherited from class com.google.gwt.user.client.ui.FocusWidget

`addBlurHandler, addClickHandler, addClickListener, addFocusHandler, addFocusListener, addKeyboardListener, addKeyDownHandler, addKeyPressHandler, addKeyUpHandler, addMouseDownHandler, addMouseListener, addMouseMoveHandler, addMouseOutHandler, addMouseOverHandler, addMouseUpHandler, addMouseWheelHandler, addMouseWheelListener, getFocusImpl, removeClickListener, removeFocusListener, removeKeyboardListener, removeMouseListener, removeMouseWheelListener, setElement`

Methods inherited from class com.google.gwt.user.client.ui.Widget
`addDomHandler, addHandler, delegateEvent, doAttachChildren, doDetachChildren, fireEvent, getHandlerCount, getParent, isAttached, isOrWasAttached, onAttach, onDetach, removeFromParent`

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, setElement, setHeight, setPixelSize, setSize, setStyleName, setStyleName, setStyleName, setStylePrimaryName, setStylePrimaryName, setTitle, setVisible, setVisible, setWidth, 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`

Constructor Detail

### RadioButton

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