GWT 2.0.3

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

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
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
Direct Known Subclasses:
RadioButton

public class CheckBox
extends ButtonBase
implements HasName, HasValue<java.lang.Boolean>

A standard check box widget. This class also serves as a base class for RadioButton.

CSS Style Rules

.gwt-CheckBox
the outer element
.gwt-CheckBox-disabled
applied when Checkbox is disabled

Example

public class CheckBoxExample implements EntryPoint {

  public void onModuleLoad() {
    // Make a new check box, and select it by default.
    CheckBox cb = new CheckBox("Foo");
    cb.setChecked(true);

    // Hook up a handler to find out when it's clicked.
    cb.addClickHandler(new ClickHandler() {
      public void onClick(ClickEvent event) {
        boolean checked = ((CheckBox) event.getSource()).isChecked();
        Window.alert("It is " + (checked ? "" : "not ") + "checked");
      }
    });

    // Add it to the root panel.
    RootPanel.get().add(cb);
  }
}


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
  CheckBox()
          Creates a check box with no label.
protected CheckBox(Element elem)
           
  CheckBox(java.lang.String label)
          Creates a check box with the specified text label.
  CheckBox(java.lang.String label, boolean asHTML)
          Creates a check box with the specified text label.
 
Method Summary
 HandlerRegistration addValueChangeHandler(ValueChangeHandler<java.lang.Boolean> handler)
          Adds a ValueChangeEvent handler.
protected  void ensureDomEventHandlers()
           
 java.lang.String getFormValue()
          Returns the value property of the input element that backs this widget.
 java.lang.String getHTML()
          Gets this object's contents as HTML.
 java.lang.String getName()
          Gets the widget's name.
 int getTabIndex()
          Gets the tab index.
 java.lang.String getText()
          Gets this object's text.
 java.lang.Boolean getValue()
          Determines whether this check box is currently checked.
 boolean isChecked()
          Deprecated. Use getValue() instead
 boolean isEnabled()
          Gets whether this widget is enabled.
protected  void onEnsureDebugId(java.lang.String baseID)
          Affected Elements: -label = label next to checkbox.
protected  void onLoad()
          This method is called when a widget is attached to the browser's document.
protected  void onUnload()
          This method is called when a widget is detached from the browser's document.
protected  void replaceInputElement(Element elem)
          Replace the current input element with a new one.
 void setAccessKey(char key)
          Sets the widget's 'access key'.
 void setChecked(boolean checked)
          Deprecated. Use setValue(Boolean) instead
 void setEnabled(boolean enabled)
          Sets whether this widget is enabled.
 void setFocus(boolean focused)
          Explicitly focus/unfocus this widget.
 void setFormValue(java.lang.String value)
          Set the value property on the input element that backs this widget.
 void setHTML(java.lang.String html)
          Sets this object's contents via HTML.
 void setName(java.lang.String name)
          Sets the widget's name.
 void setTabIndex(int index)
          Sets the widget's position in the tab index.
 void setText(java.lang.String text)
          Sets this object's text.
 void setValue(java.lang.Boolean value)
          Checks or unchecks the text box.
 void setValue(java.lang.Boolean value, boolean fireEvents)
          Checks or unchecks the text box, firing ValueChangeEvent if appropriate.
 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.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, onBrowserEvent, 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

CheckBox

public CheckBox()
Creates a check box with no label.


CheckBox

public CheckBox(java.lang.String label)
Creates a check box with the specified text label.

Parameters:
label - the check box's label

CheckBox

public CheckBox(java.lang.String label,
                boolean asHTML)
Creates a check box with the specified text label.

Parameters:
label - the check box's label
asHTML - true to treat the specified label as html

CheckBox

protected CheckBox(Element elem)
Method Detail

addValueChangeHandler

public HandlerRegistration addValueChangeHandler(ValueChangeHandler<java.lang.Boolean> handler)
Description copied from interface: HasValueChangeHandlers
Adds a ValueChangeEvent handler.

Specified by:
addValueChangeHandler in interface HasValueChangeHandlers<java.lang.Boolean>
Parameters:
handler - the handler
Returns:
the registration for the event

getFormValue

public java.lang.String getFormValue()
Returns the value property of the input element that backs this widget. This is the value that will be associated with the CheckBox name and submitted to the server if a FormPanel that holds it is submitted and the box is checked.

Don't confuse this with getValue(), which returns true or false if the widget is checked.


getHTML

public java.lang.String getHTML()
Description copied from interface: HasHTML
Gets this object's contents as HTML.

Specified by:
getHTML in interface HasHTML
Overrides:
getHTML in class ButtonBase
Returns:
the object's HTML

getName

public java.lang.String getName()
Description copied from interface: HasName
Gets the widget's name.

Specified by:
getName in interface HasName
Returns:
the widget's name

getTabIndex

public int getTabIndex()
Description copied from class: FocusWidget
Gets the tab index.

Specified by:
getTabIndex in interface Focusable
Overrides:
getTabIndex in class FocusWidget
Returns:
the tab index

getText

public java.lang.String getText()
Description copied from interface: HasText
Gets this object's text.

Specified by:
getText in interface HasText
Overrides:
getText in class ButtonBase
Returns:
the object's text

getValue

public java.lang.Boolean getValue()
Determines whether this check box is currently checked.

Note that this is not return the value property of the checkbox input element wrapped by this widget. For access to that property, see getFormValue()

Specified by:
getValue in interface HasValue<java.lang.Boolean>
Returns:
true if the check box is checked, false otherwise. Will not return null

isChecked

@Deprecated
public boolean isChecked()
Deprecated. Use getValue() instead

Determines whether this check box is currently checked.

Returns:
true if the check box is checked

isEnabled

public boolean isEnabled()
Description copied from class: FocusWidget
Gets whether this widget is enabled.

Overrides:
isEnabled in class FocusWidget
Returns:
true if the widget is enabled

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
Overrides:
setAccessKey in class FocusWidget
Parameters:
key - the widget's access key

setChecked

@Deprecated
public void setChecked(boolean checked)
Deprecated. Use setValue(Boolean) instead

Checks or unchecks this check box. Does not fire ValueChangeEvent. (If you want the event to fire, use setValue(Boolean, boolean))

Parameters:
checked - true to check the check box.

setEnabled

public void setEnabled(boolean enabled)
Description copied from class: FocusWidget
Sets whether this widget is enabled.

Overrides:
setEnabled in class FocusWidget
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.

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

setFormValue

public void setFormValue(java.lang.String value)
Set the value property on the input element that backs this widget. This is the value that will be associated with the CheckBox's name and submitted to the server if a FormPanel that holds it is submitted and the box is checked.

Don't confuse this with setValue(java.lang.Boolean), which actually checks and unchecks the box.

Parameters:
value -

setHTML

public void setHTML(java.lang.String html)
Description copied from interface: HasHTML
Sets this object's contents via HTML. Use care when setting an object's HTML; it is an easy way to expose script-based security problems. Consider using HasText.setText(String) whenever possible.

Specified by:
setHTML in interface HasHTML
Overrides:
setHTML in class ButtonBase
Parameters:
html - the object's new HTML

setName

public void setName(java.lang.String name)
Description copied from interface: HasName
Sets the widget's name.

Specified by:
setName in interface HasName
Parameters:
name - the widget's new name

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
Overrides:
setTabIndex in class FocusWidget
Parameters:
index - the widget's tab index

setText

public void setText(java.lang.String text)
Description copied from interface: HasText
Sets this object's text.

Specified by:
setText in interface HasText
Overrides:
setText in class ButtonBase
Parameters:
text - the object's new text

setValue

public void setValue(java.lang.Boolean value)
Checks or unchecks the text box.

Note that this does not set the value property of the checkbox input element wrapped by this widget. For access to that property, see setFormValue(String)

Specified by:
setValue in interface HasValue<java.lang.Boolean>
Parameters:
value - true to check, false to uncheck; must not be null
Throws:
java.lang.IllegalArgumentException - if value is null

setValue

public void setValue(java.lang.Boolean value,
                     boolean fireEvents)
Checks or unchecks the text box, firing ValueChangeEvent if appropriate.

Note that this does not set the value property of the checkbox input element wrapped by this widget. For access to that property, see setFormValue(String)

Specified by:
setValue in interface HasValue<java.lang.Boolean>
Parameters:
value - true to check, false to uncheck; must not be null
fireEvents - If true, and value has changed, fire a ValueChangeEvent
Throws:
java.lang.IllegalArgumentException - if value is null

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 Widget
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()

onEnsureDebugId

protected void onEnsureDebugId(java.lang.String baseID)
Affected Elements:

Overrides:
onEnsureDebugId in class UIObject
Parameters:
baseID - the base ID used by the main element
See Also:
UIObject.onEnsureDebugId(String)

onLoad

protected void onLoad()
This method is called when a widget is attached to the browser's document. onAttach needs special handling for the CheckBox case. Must still call Widget.onAttach() to preserve the onAttach contract.

Overrides:
onLoad in class Widget

onUnload

protected void onUnload()
This method is called when a widget is detached from the browser's document. Overridden because of IE bug that throws away checked state and in order to clear the event listener off of the inputElem.

Overrides:
onUnload in class Widget

replaceInputElement

protected void replaceInputElement(Element elem)
Replace the current input element with a new one. Preserves all state except for the name property, for nasty reasons related to radio button grouping. (See implementation of RadioButton.setName(java.lang.String).)

Parameters:
elem - the new input element

GWT 2.0.3