org.zkoss.zul
Class Timebox

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.Timebox
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, HtmlBasedComponent, Component, Scope, ComponentCtrl, Timebox, Constrainted, InputElement, XulElement

public class Timebox
extends FormatInputElement
implements Timebox

An input box for holding a time (a java.util.Date Object , but only Hour & Minute are used.

Default getZclass(): z-timebox. (since 3.5.0)

timebox doens't support customized format. It support HH:mm formate, where HH is hour of day and mm is minute of hour.

timebox supports below key events.

  • 0-9 : set the time digit depend on the position on the inner text box.
  • up : increase time digit depend on the position on the inner text box.
  • down : decrease time digit depend on the position on the inner text box.
  • delete : clear the time to empty (null)

    Like Combobox and Datebox, the value of a read-only time box (InputElement.isReadonly()) can be changed by clicking the up or down button (though users cannot type anything in the input box).

    Since:
    3.0.0
    Author:
    Dennis Chen
    See Also:
    Serialized Form

    Nested Class Summary
     
    Nested classes/interfaces inherited from class org.zkoss.zk.ui.HtmlBasedComponent
    HtmlBasedComponent.ExtraCtrl
     
    Nested classes/interfaces inherited from class org.zkoss.zk.ui.AbstractComponent
    AbstractComponent.Children
     
    Field Summary
     
    Fields inherited from class org.zkoss.zul.impl.InputElement
    _value
     
    Fields inherited from class org.zkoss.zk.ui.HtmlBasedComponent
    _height, _left, _top, _width, _zclass
     
    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
     
    Fields inherited from interface org.zkoss.zk.ui.sys.ComponentCtrl
    CE_BUSY_IGNORE, CE_DUPLICATE_IGNORE, CE_IMPORTANT, CE_NON_DEFERRABLE, CE_REPEAT_IGNORE
     
    Constructor Summary
    Timebox()
               
    Timebox(java.util.Date date)
               
     
    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).
    protected  java.text.DateFormat getDateFormat(java.lang.String fmt)
              Returns the date format of the time only, Default: it uses SimpleDateFormat to format the date.
     java.util.TimeZone getTimeZone()
              Returns the time zone that this time box belongs to, or null if the default time zone is used.
     java.util.Date getValue()
              Returns the value (in Date), might be null unless a constraint stops it.
     java.lang.String getZclass()
              Returns the ZK Cascading Style class(es) for this component.
     boolean isButtonVisible()
              Returns whether the button (on the right of the textbox) is visible.
    protected  void renderProperties(ContentRenderer renderer)
              Renders the content of this component, excluding the enclosing tags and children.
     void setButtonVisible(boolean visible)
              Sets whether the button (on the right of the textbox) is visible.
     void setFormat(java.lang.String format)
              Sets the date format.
     void setTimeZone(java.util.TimeZone tzone)
              Sets the time zone that this time box belongs to, or null if the default time zone is used.
     void setValue(java.util.Date value)
              Sets the value (in Date).
     
    Methods inherited from class org.zkoss.zul.impl.FormatInputElement
    getFormat
     
    Methods inherited from class org.zkoss.zul.impl.InputElement
    checkUserError, clearErrorMessage, clearErrorMessage, getCols, getConstraint, getErrorMessage, getMaxlength, getName, getRawText, getRawValue, getTabindex, getTargetValue, getText, getType, isChildable, isDisabled, isInplace, isMultiline, isReadonly, isValid, onWrongValue, select, service, setCols, setConstraint, setConstraint, setDisabled, setInplace, setMaxlength, setName, setRawValue, setReadonly, setSelectedText, setSelectionRange, setTabindex, setText, setValueDirectly, showCustomError, validate
     
    Methods inherited from class org.zkoss.zul.impl.XulElement
    getAction, getContext, getCtrlKeys, getPopup, getTooltip, setAction, setContext, setContext, setCtrlKeys, setPopup, setPopup, setTooltip, setTooltip
     
    Methods inherited from class org.zkoss.zk.ui.HtmlBasedComponent
    focus, getDraggable, getDroppable, getHeight, getHflex, getLeft, getSclass, getStyle, getTooltiptext, getTop, getVflex, getWidth, getZindex, getZIndex, newExtraCtrl, setClass, setDraggable, setDroppable, setFocus, setHeight, setHflex, setLeft, setSclass, setStyle, setTooltiptext, setTop, setVflex, setWidth, setZclass, setZindex, setZIndex
     
    Methods inherited from class org.zkoss.zk.ui.AbstractComponent
    addAnnotation, addAnnotation, addClientEvent, addEventHandler, addEventListener, addForward, addForward, addForward, addForward, addMoved, addScopeListener, addSharedAnnotationMap, addSharedEventHandlerMap, appendChild, applyProperties, beforeChildAdded, beforeChildRemoved, beforeParentChanged, clone, containsVariable, detach, didActivate, didActivate, didDeserialize, didDeserialize, disableClientUpdate, equals, getAnnotatedProperties, getAnnotatedPropertiesBy, getAnnotation, getAnnotation, getAnnotations, getAnnotations, getAttribute, getAttribute, getAttribute, getAttributeOrFellow, getAttributes, getAttributes, getAuService, getChildren, getClientEvents, getDefinition, getDesktop, getEventHandler, getEventHandlerNames, getExtraCtrl, getFellow, getFellow, getFellowIfAny, getFellowIfAny, getFellows, getFirstChild, getId, getLastChild, getListenerIterator, getMold, getNamespace, getNextSibling, getPage, getParent, getPreviousSibling, getRoot, getSpaceOwner, getUuid, getVariable, getWidgetClass, getWidgetListener, getWidgetListenerNames, getWidgetOverride, getWidgetOverrideNames, hasAttribute, hasAttribute, hasAttribute, hasAttributeOrFellow, hasFellow, hasFellow, insertBefore, invalidate, isInvalidated, isListenerAvailable, isVisible, newChildren, onChildAdded, onChildRemoved, onPageAttached, onPageDetached, redraw, redrawChildren, removeAttribute, removeAttribute, removeAttribute, removeChild, removeEventListener, removeForward, removeForward, removeScopeListener, render, render, render, response, sessionDidActivate, sessionWillPassivate, setAttribute, setAttribute, setAttribute, setAuService, setDefinition, setDefinition, setId, setMold, setPage, setPageBefore, setParent, setVariable, setVisible, setWidgetListener, setWidgetOverride, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdateWidgetListener, smartUpdateWidgetOverride, toString, unsetVariable, updateByClient, willPassivate, willPassivate, willSerialize, willSerialize
     
    Methods inherited from class java.lang.Object
    finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
     
    Methods inherited from interface org.zkoss.zul.impl.api.InputElement
    clearErrorMessage, clearErrorMessage, getCols, getErrorMessage, getMaxlength, getName, getRawText, getRawValue, getTabindex, getText, getType, isDisabled, isMultiline, isReadonly, isValid, select, setCols, setConstraint, 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, getAttributeOrFellow, getAttributes, getAttributes, getAuService, getChildren, getDefinition, getDesktop, getFellow, getFellow, getFellowIfAny, getFellowIfAny, getFellows, getFirstChild, getId, getLastChild, getListenerIterator, getMold, getNamespace, getNextSibling, getPage, getParent, getPreviousSibling, getRoot, getSpaceOwner, getUuid, getVariable, getWidgetClass, getWidgetListener, getWidgetListenerNames, getWidgetOverride, getWidgetOverrideNames, hasAttribute, hasAttribute, hasAttributeOrFellow, hasFellow, hasFellow, insertBefore, invalidate, isInvalidated, isListenerAvailable, isVisible, removeAttribute, removeAttribute, removeChild, removeEventListener, removeForward, removeForward, setAttribute, setAttribute, setAuService, setId, setMold, setPage, setPageBefore, setParent, setVariable, setVisible, setWidgetListener, setWidgetOverride, unsetVariable
     
    Methods inherited from interface org.zkoss.zk.ui.ext.Scope
    addScopeListener, getAttribute, hasAttribute, removeAttribute, removeScopeListener, setAttribute
     
    Methods inherited from interface org.zkoss.zul.ext.Constrainted
    getConstraint, setConstraint
     

    Constructor Detail

    Timebox

    public Timebox()

    Timebox

    public Timebox(java.util.Date date)
            throws WrongValueException
    Throws:
    WrongValueException
    Method Detail

    setFormat

    public void setFormat(java.lang.String format)
                   throws WrongValueException
    Sets the date format.

    The following pattern letters are defined:

    Letter Date or Time Component Presentation Examples
    a Am/pm marker Text PM
    H Hour in day (0-23) Number 0
    k Hour in day (1-24) Number 24
    K Hour in am/pm (0-11) Number 0
    h Hour in am/pm (1-12) Number 12
    m Minute in hour Number 30
    s Second in minute Number 55

    Overrides:
    setFormat in class FormatInputElement
    Throws:
    WrongValueException
    Since:
    5.0.0

    getValue

    public java.util.Date getValue()
                            throws WrongValueException
    Returns the value (in Date), might be null unless a constraint stops it. And, only Hour and Mintue field is effective.

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

    setValue

    public void setValue(java.util.Date value)
                  throws WrongValueException
    Sets the value (in Date). If value is null, then an empty will be sent(render) to client. If else, only the Hour and Mintue field will be sent(render) to client.

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

    isButtonVisible

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

    Default: true.

    Specified by:
    isButtonVisible in interface Timebox

    setButtonVisible

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

    Specified by:
    setButtonVisible in interface Timebox

    getTimeZone

    public java.util.TimeZone getTimeZone()
    Returns the time zone that this time box belongs to, or null if the default time zone is used.

    The default time zone is determined by TimeZones.getCurrent().

    Specified by:
    getTimeZone in interface Timebox

    setTimeZone

    public void setTimeZone(java.util.TimeZone tzone)
    Sets the time zone that this time box belongs to, or null if the default time zone is used.

    The default time zone is determined by TimeZones.getCurrent().

    Specified by:
    setTimeZone in interface Timebox

    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

    getDateFormat

    protected java.text.DateFormat getDateFormat(java.lang.String fmt)
    Returns the date format of the time only,

    Default: it uses SimpleDateFormat to format the date.


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

    renderProperties

    protected void renderProperties(ContentRenderer renderer)
                             throws java.io.IOException
    Description copied from class: HtmlBasedComponent
    Renders the content of this component, excluding the enclosing tags and children.

    See also Render Special Properties

    Overrides:
    renderProperties in class FormatInputElement
    Throws:
    java.io.IOException


    Copyright © 2005-2009 Potix Corporation. All Rights Reserved. SourceForge.net Logo