Package com.google.gwt.user.client.ui
Class RadioButton
- java.lang.Object
-
- 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. FiresClickEvents
when the radio button is clicked, andValueChangeEvents
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 byCheckBox.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
Fields Modifier and Type Field Description 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
Constructors Constructor Description 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, HasDirection.Direction dir)
RadioButton(java.lang.String name, SafeHtml label, DirectionEstimator directionEstimator)
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, HasDirection.Direction dir)
RadioButton(java.lang.String name, java.lang.String label, DirectionEstimator directionEstimator)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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 buttonlabel
- 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 buttonlabel
- this radio button's html labeldir
- the text's direction. Note thatDEFAULT
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 buttonlabel
- this radio button's html labeldirectionEstimator
- 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 buttonlabel
- 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 buttonlabel
- this radio button's labeldir
- the text's direction. Note thatDEFAULT
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 buttonlabel
- this radio button's labeldirectionEstimator
- 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 buttonlabel
- this radio button's labelasHTML
-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 interfaceEventListener
- Overrides:
onBrowserEvent
in classWidget
- 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.
-
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 ofisOrWasAttached()
:@Override public void sinkEvents(int eventBitsToAdd) { if (isOrWasAttached()) { /* customized sink code goes here */ } else { super.sinkEvents(eventBitsToAdd); } }
- Overrides:
sinkEvents
in classCheckBox
- 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 inonBrowserEvent(com.google.gwt.user.client.Event)
- Overrides:
ensureDomEventHandlers
in classCheckBox
-
-