Class CheckBox

All Implemented Interfaces:
IsEditor<LeafValueEditor<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<Boolean>, HasHandlers, HasDirectionEstimator, HasSafeHtml, EventListener, TakesValue<Boolean>, Focusable, HasDirectionalSafeHtml, HasDirectionalText, HasEnabled, HasFocus, HasHTML, HasName, HasText, HasValue<Boolean>, HasVisibility, HasWordWrap, IsWidget, SourcesClickEvents, SourcesFocusEvents, SourcesKeyboardEvents, SourcesMouseEvents
Direct Known Subclasses:
RadioButton

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

Built-in Bidi Text Support

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

CSS Style Rules

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

Example

public class CheckBoxExample implements EntryPoint {

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

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

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

  • Field Details

  • Constructor Details

    • CheckBox

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

      public CheckBox(SafeHtml label)
      Creates a check box with the specified text label.
      Parameters:
      label - the check box's label
    • CheckBox

      public CheckBox(SafeHtml label, HasDirection.Direction dir)
      Creates a check box with the specified text label.
      Parameters:
      label - the check box's label
      dir - the text's direction. Note that DEFAULT means direction should be inherited from the widget's parent element.
    • CheckBox

      public CheckBox(SafeHtml label, DirectionEstimator directionEstimator)
      Creates a check box with the specified text label.
      Parameters:
      label - the check box's label
      directionEstimator - A DirectionEstimator object used for automatic direction adjustment. For convenience, DEFAULT_DIRECTION_ESTIMATOR can be used.
    • CheckBox

      public CheckBox(String label)
      Creates a check box with the specified text label.
      Parameters:
      label - the check box's label
    • CheckBox

      public CheckBox(String label, HasDirection.Direction dir)
      Creates a check box with the specified text label.
      Parameters:
      label - the check box's label
      dir - the text's direction. Note that DEFAULT means direction should be inherited from the widget's parent element.
    • CheckBox

      public CheckBox(String label, DirectionEstimator directionEstimator)
      Creates a label with the specified text and a default direction estimator.
      Parameters:
      label - the check box's label
      directionEstimator - A DirectionEstimator object used for automatic direction adjustment. For convenience, DEFAULT_DIRECTION_ESTIMATOR can be used.
    • CheckBox

      public CheckBox(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 Details

    • addValueChangeHandler

      public HandlerRegistration addValueChangeHandler(ValueChangeHandler<Boolean> handler)
      Description copied from interface: HasValueChangeHandlers
      Adds a ValueChangeEvent handler.
      Specified by:
      addValueChangeHandler in interface HasValueChangeHandlers<Boolean>
      Parameters:
      handler - the handler
      Returns:
      the registration for the event
    • asEditor

      public LeafValueEditor<Boolean> asEditor()
      Description copied from interface: IsEditor
      Returns the Editor encapsulated by the view object.
      Specified by:
      asEditor in interface IsEditor<LeafValueEditor<Boolean>>
      Returns:
      an Editor of type E
    • getDirectionEstimator

      public DirectionEstimator getDirectionEstimator()
      Description copied from interface: HasDirectionEstimator
      Returns the DirectionEstimator object.
      Specified by:
      getDirectionEstimator in interface HasDirectionEstimator
    • getFormValue

      public 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 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 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 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
    • getTextDirection

      public HasDirection.Direction getTextDirection()
      Description copied from interface: HasDirectionalText
      Gets the direction of this object's text.
      Specified by:
      getTextDirection in interface HasDirectionalText
      Returns:
      the direction of this object's text
    • getValue

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

      Note that this does 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<Boolean>
      Specified by:
      getValue in interface TakesValue<Boolean>
      Returns:
      true if the check box is checked, false otherwise. Will not return null
      See Also:
    • getWordWrap

      public boolean getWordWrap()
      Description copied from interface: HasWordWrap
      Gets whether word-wrapping is enabled.
      Specified by:
      getWordWrap in interface HasWordWrap
      Returns:
      true if word-wrapping is enabled.
    • 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.
      Specified by:
      isEnabled in interface HasEnabled
      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.
    • setDirectionEstimator

      public void setDirectionEstimator(boolean enabled)
      Toggles on / off direction estimation.

      See note at setDirectionEstimator(DirectionEstimator).

      Specified by:
      setDirectionEstimator in interface HasDirectionEstimator
      Parameters:
      enabled - Whether to enable direction estimation. If true, sets the DirectionEstimator object to a default DirectionEstimator.
    • setDirectionEstimator

      public void setDirectionEstimator(DirectionEstimator directionEstimator)
      Sets the DirectionEstimator object.

      Note: DirectionEstimator should be set before the label has any content; it's highly recommended to set it using a constructor. Reason: if the label already has non-empty content, this will update its direction according to the new estimator's result. This may cause flicker, and thus should be avoided.

      Specified by:
      setDirectionEstimator in interface HasDirectionEstimator
      Parameters:
      directionEstimator - The DirectionEstimator to be set. null means turning off direction estimation.
    • setEnabled

      public void setEnabled(boolean enabled)
      Description copied from class: FocusWidget
      Sets whether this widget is enabled.
      Specified by:
      setEnabled in interface HasEnabled
      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. NOTE: Most browsers fire FocusEvents asynchronously. Especially within GWT tests, you'll need to make your test asynchronous to properly do verifications. See GWTTestCase#delayTestFinish for more information on how to do this.
      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(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(SafeHtml html, HasDirection.Direction dir)
      Description copied from interface: HasDirectionalSafeHtml
      Sets this object's html, also declaring its direction.
      Specified by:
      setHTML in interface HasDirectionalSafeHtml
      Parameters:
      html - the object's new html
      dir - the html's direction
    • setHTML

      public void setHTML(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(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(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
    • setText

      public void setText(String text, HasDirection.Direction dir)
      Description copied from interface: HasDirectionalText
      Sets this object's text, also declaring its direction.
      Specified by:
      setText in interface HasDirectionalText
      Parameters:
      text - the object's new text
      dir - the text's direction
    • setValue

      public void setValue(Boolean value)
      Checks or unchecks the check 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<Boolean>
      Specified by:
      setValue in interface TakesValue<Boolean>
      Parameters:
      value - true to check, false to uncheck; null value implies false
      See Also:
    • setValue

      public void setValue(Boolean value, boolean fireEvents)
      Checks or unchecks the check 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<Boolean>
      Parameters:
      value - true to check, false to uncheck; null value implies false
      fireEvents - If true, and value has changed, fire a ValueChangeEvent
    • setWordWrap

      public void setWordWrap(boolean wrap)
      Description copied from interface: HasWordWrap
      Sets whether word-wrapping is enabled.
      Specified by:
      setWordWrap in interface HasWordWrap
      Parameters:
      wrap - true to enable word-wrapping.
    • 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:
    • ensureDomEventHandlers

      protected void ensureDomEventHandlers()
    • onEnsureDebugId

      protected void onEnsureDebugId(String baseID)
      Affected Elements:
      • -label = label next to checkbox.
      Overrides:
      onEnsureDebugId in class UIObject
      Parameters:
      baseID - the base ID used by the main element
      See Also:
    • 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
    • replaceInputElement

      @Deprecated protected void replaceInputElement(Element elem)