GWT 2.0.3

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

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, getLayoutData, getParent, isAttached, isOrWasAttached, onAttach, onDetach, removeFromParent, setLayoutData
 
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

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

GWT 2.0.3