org.zkoss.zul
Class Spinner

java.lang.Object
  extended by org.zkoss.zk.ui.AbstractComponent
      extended by org.zkoss.zk.ui.HtmlBasedComponent
          extended by org.zkoss.zul.impl.XulElement
              extended by org.zkoss.zul.impl.InputElement
                  extended by org.zkoss.zul.impl.FormatInputElement
                      extended by org.zkoss.zul.impl.NumberInputElement
                          extended by org.zkoss.zul.Spinner
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, HtmlBasedComponent, Component, Scope, ComponentCtrl, Spinner, Constrainted, FormatInputElement, InputElement, NumberInputElement, XulElement

public class Spinner
extends NumberInputElement
implements Spinner

An edit box for holding a constrained integer.

Default getZclass(): z-spinner.

spinner supports below key events.

  • 0-9 : set the value on the inner text box.
  • delete : clear the value to empty (null)

    Since:
    3.5.0
    Author:
    gracelin
    See Also:
    Serialized Form

    Nested Class Summary
     
    Nested classes/interfaces inherited from class org.zkoss.zul.impl.InputElement
    InputElement.ExtraCtrl
     
    Nested classes/interfaces inherited from class org.zkoss.zk.ui.AbstractComponent
    AbstractComponent.Children
     
    Field Summary
     
    Fields inherited from class org.zkoss.zk.ui.HtmlBasedComponent
    _zclass, RS_NO_DISPLAY, RS_NO_HEIGHT, RS_NO_WIDTH
     
    Fields inherited from class org.zkoss.zk.ui.AbstractComponent
    _visible
     
    Fields inherited from interface org.zkoss.zk.ui.Component
    APPLICATION_SCOPE, COMPONENT_SCOPE, DESKTOP_SCOPE, PAGE_SCOPE, REQUEST_SCOPE, SESSION_SCOPE, SPACE_SCOPE
     
    Constructor Summary
    Spinner()
               
    Spinner(int value)
               
    Spinner(javax.swing.SpinnerNumberModel model)
               
     
    Method Summary
    protected  java.lang.Object coerceFromString(java.lang.String value)
              Coerces the value passed to InputElement.setText(java.lang.String).
    protected  java.lang.String coerceToString(java.lang.Object value)
              Coerces the value passed to InputElement.setText(java.lang.String).
     java.lang.String getInnerAttrs()
              Generates the Client-Side-Action attributes to the interior tag.
     java.lang.String getOuterAttrs()
              Returns the exterior attributes for generating the enclosing HTML tag; never return null.
     int getStep()
              Return the step of spinner
     java.lang.Integer getValue()
              Returns the value (in Integer), might be null unless a constraint stops it.
     java.lang.String getZclass()
              Returns the ZK Cascading Style class(es) for this component.
     int intValue()
              Returns the value in int.
     boolean isButtonVisible()
              Returns whether the button (on the right of the textbox) is visible.
     void setButtonVisible(boolean visible)
              Sets whether the button (on the right of the textbox) is visible.
     void setConstraint(java.lang.String constr)
               
     void setStep(int step)
              Set the step of spinner
     void setValue(java.lang.Integer value)
              Sets the value (in Integer).
     
    Methods inherited from class org.zkoss.zul.impl.NumberInputElement
    formatNumber, getRoundingMode, setRoundingMode, setRoundingMode, toNumberOnly
     
    Methods inherited from class org.zkoss.zul.impl.FormatInputElement
    getFormat, setFormat, shallServerFormat
     
    Methods inherited from class org.zkoss.zul.impl.InputElement
    checkUserError, clearErrorMessage, clearErrorMessage, getAreaText, getCols, getConstraint, getErrorMessage, getMaxlength, getName, getRawText, getRawValue, getTabindex, getTargetValue, getText, getType, isChildable, isDisabled, isMultiline, isReadonly, isValid, newExtraCtrl, onWrongValue, select, setCols, setConstraint, setDisabled, setMaxlength, setName, setRawValue, setReadonly, setSelectedText, setSelectionRange, setTabindex, setText, setValueDirectly, showCustomError, validate
     
    Methods inherited from class org.zkoss.zul.impl.XulElement
    getAction, getActionAttrs, getAllOnClickAttrs, getContext, getCtrlKeys, getPopup, getTooltip, setAction, setContext, setContext, setCtrlKeys, setPopup, setPopup, setTooltip, setTooltip
     
    Methods inherited from class org.zkoss.zk.ui.HtmlBasedComponent
    focus, getAllOnClickAttrs, getDraggable, getDroppable, getHeight, getLeft, getMoldSclass, getRealSclass, getRealStyle, getRealStyleFlags, getSclass, getStyle, getTooltiptext, getTop, getWidth, getZindex, getZIndex, redraw, setClass, setDraggable, setDroppable, setFocus, setHeight, setLeft, setMoldSclass, setSclass, setStyle, setTooltiptext, setTop, setWidth, setZclass, setZindex, setZIndex
     
    Methods inherited from class org.zkoss.zk.ui.AbstractComponent
    addAnnotation, addAnnotation, addEventHandler, addEventListener, addForward, addForward, addForward, addForward, addMoved, addSharedAnnotationMap, addSharedEventHandlerMap, appendAsapAttr, appendAsapAttr, appendChild, applyProperties, beforeChildAdded, beforeChildRemoved, beforeParentChanged, clone, containsVariable, detach, disableClientUpdate, equals, getAnnotatedProperties, getAnnotatedPropertiesBy, getAnnotation, getAnnotation, getAnnotations, getAnnotations, getAttribute, getAttribute, getAttributes, getAttributes, getChildren, getCommand, getDefinition, getDesktop, getEventHandler, getEventHandlerNames, getExtraCtrl, getFellow, getFellowIfAny, getFellows, getFirstChild, getId, getLastChild, getListenerIterator, getMold, getMoldURI, getNamespace, getNextSibling, getPage, getParent, getPreviousSibling, getRoot, getSpaceOwner, getUuid, getVariable, hasFellow, insertBefore, invalidate, isAsapRequired, isInvalidated, isListenerAvailable, isVisible, newChildren, onChildAdded, onChildRemoved, onDrawNewChild, onPageAttached, onPageDetached, removeAttribute, removeAttribute, removeChild, removeEventListener, removeForward, removeForward, response, sessionDidActivate, sessionWillPassivate, setAttribute, setAttribute, setComponentDefinition, setId, setMold, setPage, setPageBefore, setParent, setVariable, setVisible, smartUpdate, smartUpdate, smartUpdate, smartUpdateDeferred, smartUpdateValues, toString, unsetVariable
     
    Methods inherited from class java.lang.Object
    finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
     
    Methods inherited from interface org.zkoss.zul.impl.api.NumberInputElement
    getRoundingMode, setRoundingMode, setRoundingMode
     
    Methods inherited from interface org.zkoss.zul.impl.api.FormatInputElement
    getFormat, setFormat
     
    Methods inherited from interface org.zkoss.zul.impl.api.InputElement
    clearErrorMessage, clearErrorMessage, getAreaText, getCols, getErrorMessage, getMaxlength, getName, getRawText, getRawValue, getTabindex, getText, getType, isDisabled, isMultiline, isReadonly, isValid, select, setCols, setDisabled, setMaxlength, setName, setRawValue, setReadonly, setSelectedText, setSelectionRange, setTabindex, setText
     
    Methods inherited from interface org.zkoss.zul.impl.api.XulElement
    getAction, getContext, getCtrlKeys, getPopup, getTooltip, setAction, setContext, setContext, setCtrlKeys, setPopup, setPopup, setTooltip, setTooltip
     
    Methods inherited from interface org.zkoss.zk.ui.api.HtmlBasedComponent
    focus, getHeight, getLeft, getSclass, getStyle, getTooltiptext, getTop, getWidth, getZindex, getZIndex, setDraggable, setDroppable, setFocus, setHeight, setLeft, setSclass, setStyle, setTooltiptext, setTop, setWidth, setZclass, setZindex, setZIndex
     
    Methods inherited from interface org.zkoss.zk.ui.Component
    addEventListener, addForward, addForward, addForward, addForward, appendChild, applyProperties, clone, containsVariable, detach, getAttribute, getAttribute, getAttributes, getAttributes, getChildren, getDefinition, getDesktop, getFellow, getFellowIfAny, getFellows, getFirstChild, getId, getLastChild, getListenerIterator, getMold, getNamespace, getNextSibling, getPage, getParent, getPreviousSibling, getRoot, getSpaceOwner, getUuid, getVariable, insertBefore, invalidate, isChildable, isInvalidated, isListenerAvailable, isVisible, redraw, removeAttribute, removeAttribute, removeChild, removeEventListener, removeForward, removeForward, setAttribute, setAttribute, setId, setMold, setPage, setPageBefore, setParent, setVariable, setVisible, unsetVariable
     
    Methods inherited from interface org.zkoss.zul.ext.Constrainted
    getConstraint, setConstraint
     

    Constructor Detail

    Spinner

    public Spinner()

    Spinner

    public Spinner(int value)
            throws WrongValueException
    Throws:
    WrongValueException

    Spinner

    public Spinner(javax.swing.SpinnerNumberModel model)
    Method Detail

    getValue

    public java.lang.Integer getValue()
                               throws WrongValueException
    Returns the value (in Integer), might be null unless a constraint stops it.

    Specified by:
    getValue in interface Spinner
    Throws:
    WrongValueException - if user entered a wrong value

    intValue

    public int intValue()
                 throws WrongValueException
    Returns the value in int. If null, zero is returned.

    Specified by:
    intValue in interface Spinner
    Throws:
    WrongValueException

    setValue

    public void setValue(java.lang.Integer value)
                  throws WrongValueException
    Sets the value (in Integer).

    Specified by:
    setValue in interface Spinner
    Throws:
    WrongValueException - if value is wrong

    getStep

    public int getStep()
    Return the step of spinner

    Specified by:
    getStep in interface Spinner

    setStep

    public void setStep(int step)
    Set the step of spinner

    Specified by:
    setStep in interface Spinner

    isButtonVisible

    public boolean isButtonVisible()
    Returns whether the button (on the right of the textbox) is visible.

    Default: true.

    Specified by:
    isButtonVisible in interface Spinner

    setButtonVisible

    public void setButtonVisible(boolean visible)
    Sets whether the button (on the right of the textbox) is visible.

    Specified by:
    setButtonVisible in interface Spinner

    getZclass

    public java.lang.String getZclass()
    Description copied from class: HtmlBasedComponent
    Returns the ZK Cascading Style class(es) for this component. It usually depends on the implementation of the mold (@{link #getMold}).

    Default: null (the default value depends on element).

    HtmlBasedComponent.setZclass(java.lang.String)) will completely replace the default style of a component. In other words, the default style of a component is associated with the default value of HtmlBasedComponent.getZclass(). Once it is changed, the default style won't be applied at all. If you want to perform small adjustments, use HtmlBasedComponent.setSclass(java.lang.String) instead.

    Specified by:
    getZclass in interface HtmlBasedComponent
    Overrides:
    getZclass in class HtmlBasedComponent
    See Also:
    HtmlBasedComponent.getSclass(), HtmlBasedComponent.getRealSclass()

    getOuterAttrs

    public java.lang.String getOuterAttrs()
    Description copied from class: HtmlBasedComponent
    Returns the exterior attributes for generating the enclosing HTML tag; never return null.

    Used only by component developers.

    Default: Generates the tooltip text, style, sclass, draggable and droppable attribute if necessary. In other words, the corresponding attribute is generated if HtmlBasedComponent.getTooltiptext(), HtmlBasedComponent.getRealStyle(), HtmlBasedComponent.getSclass(), HtmlBasedComponent.getDraggable(), HtmlBasedComponent.getDroppable() are defined.

    You have to call both HtmlBasedComponent.getOuterAttrs() and HtmlBasedComponent.getInnerAttrs() to generate complete attributes.

    For simple components that all attributes are put on the outest HTML element, all you need is as follows.

    <xx id="${self.uuid}"${self.outerAttrs}${self.innerAttrs}>

    If you want to put attributes in a nested HTML element, you shall use the following pattern. Notice: if HtmlBasedComponent.getInnerAttrs() in a different tag, the tag must be named with "${self.uuid}!real".

    <xx id="${self.uuid}"${self.outerAttrs}>
     <yy id="${self.uuid}!real"${self.innerAttrs}>...
    

    Note: This class handles non-deferrable event listeners automatically. However, you have to invoke AbstractComponent.appendAsapAttr(java.lang.StringBuffer, java.lang.String) for each event the component handles in HtmlBasedComponent.getOuterAttrs() as follows.

    
            appendAsapAttr(sb, Events.ON_OPEN);
      appendAsapAttr(sb, Events.ON_CHANGE);
    

    Theorectically, you could put any attributes in either HtmlBasedComponent.getInnerAttrs() or HtmlBasedComponent.getOuterAttrs(). However, zkau.js assumes all attributes are put at the outer one. If you want something different, you have to provide your own setAttr (refer to how checkbox is implemented).

    Overrides:
    getOuterAttrs in class FormatInputElement

    getInnerAttrs

    public java.lang.String getInnerAttrs()
    Description copied from class: XulElement
    Generates the Client-Side-Action attributes to the interior tag. Reason: onfocus is the main use.

    Overrides:
    getInnerAttrs in class InputElement

    setConstraint

    public void setConstraint(java.lang.String constr)
    Specified by:
    setConstraint in interface InputElement
    Overrides:
    setConstraint in class InputElement

    coerceFromString

    protected java.lang.Object coerceFromString(java.lang.String value)
                                         throws WrongValueException
    Description copied from class: InputElement
    Coerces the value passed to InputElement.setText(java.lang.String).

    Deriving note:
    If you want to store the value in other type, say BigDecimal, you have to override InputElement.coerceToString(java.lang.Object) and InputElement.coerceFromString(java.lang.String) to convert between a string and your targeting type.

    Moreover, when Textbox is called, it calls this method with value = null. Derives shall handle this case properly.

    Specified by:
    coerceFromString in class InputElement
    Throws:
    WrongValueException

    coerceToString

    protected java.lang.String coerceToString(java.lang.Object value)
    Description copied from class: InputElement
    Coerces the value passed to InputElement.setText(java.lang.String).

    Default: convert null to an empty string.

    Deriving note:
    If you want to store the value in other type, say BigDecimal, you have to override InputElement.coerceToString(java.lang.Object) and InputElement.coerceFromString(java.lang.String) to convert between a string and your targeting type.

    Specified by:
    coerceToString in class InputElement


    Copyright &copy; 2005-2009 Potix Corporation. All Rights Reserved. SourceForge.net Logo