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, Component, Disable, Readonly, Scope, ComponentCtrl, Constrainted

public class Timebox
extends FormatInputElement

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 supports below key events.

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
_zclass
 
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.
protected  java.lang.String getDefaultFormat()
          Returns the default format, which is used when constructing a timebox.
 java.util.Locale getLocale()
          Returns the locale associated with this timebox, or null if Locales.getCurrent() is preferred.
 java.lang.String getRealFormat()
          Returns the real format, i.e., the combination of the format patterns, such as hh:mm.
 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  java.lang.Object marshall(java.lang.Object value)
          Marshall value to be sent to the client if needed.
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 setLocale(java.util.Locale locale)
          Sets the locale used to identify the format of this timebox.
 void setLocale(java.lang.String locale)
          Sets the locale used to identify the format of this timebox.
 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).
protected  java.lang.Object unmarshall(java.lang.Object value)
          Unmarshall value returned from client if needed.
 
Methods inherited from class org.zkoss.zul.impl.FormatInputElement
getFormat
 
Methods inherited from class org.zkoss.zul.impl.InputElement
checkUserError, clearErrorMessage, clearErrorMessage, clone, getCols, getConstraint, getErrorMessage, getInstant, getMaxlength, getName, getPlaceholder, getRawText, getRawValue, getTabindex, getTargetValue, getText, getType, isChildable, isDisabled, isInplace, isMultiline, isReadonly, isValid, onWrongValue, select, service, setCols, setConstraint, setConstraint, setDisabled, setErrorMessage, setInplace, setInstant, setMaxlength, setName, setPlaceholder, setRawValue, setReadonly, setSelectedText, setSelectionRange, setTabindex, setText, setValueDirectly, showCustomError, validate
 
Methods inherited from class org.zkoss.zul.impl.XulElement
getContext, getCtrlKeys, getPopup, getTooltip, setContext, setContext, setCtrlKeys, setPopup, setPopup, setTooltip, setTooltip
 
Methods inherited from class org.zkoss.zk.ui.HtmlBasedComponent
focus, getAction, getDraggable, getDroppable, getExtraCtrl, getHeight, getHflex, getLeft, getRenderdefer, getSclass, getStyle, getTooltiptext, getTop, getVflex, getWidth, getZindex, getZIndex, setAction, setClass, setDraggable, setDroppable, setFocus, setHeight, setHeightDirectly, setHflex, setHflexDirectly, setLeft, setLeftDirectly, setRenderdefer, setSclass, setStyle, setTooltiptext, setTop, setTopDirectly, setVflex, setWidth, setWidthDirectly, setZclass, setZindex, setZIndex, setZIndexDirectly
 
Methods inherited from class org.zkoss.zk.ui.AbstractComponent
addAnnotation, addAnnotation, addClientEvent, addEventHandler, addEventListener, addEventListener, addForward, addForward, addForward, addForward, addMoved, addRedrawCallback, addScopeListener, addShadowRoot, addShadowRootBefore, addSharedEventHandlerMap, appendChild, applyProperties, beforeChildAdded, beforeChildRemoved, beforeParentChanged, detach, didActivate, didActivate, didDeserialize, didDeserialize, disableBindingAnnotation, disableClientUpdate, enableBindingAnnotation, equals, getAnnotatedProperties, getAnnotatedPropertiesBy, getAnnotation, getAnnotation, getAnnotations, getAnnotations, getAnnotations, getAttribute, getAttribute, getAttribute, getAttributeOrFellow, getAttributes, getAttributes, getAuService, getAutag, getChildren, getClientAttribute, getClientEvents, getDefaultMold, getDefinition, getDesktop, getEventHandler, getEventHandlerNames, getEventListenerMap, getEventListeners, getFellow, getFellow, getFellowIfAny, getFellowIfAny, getFellows, getFirstChild, getId, getLastChild, getListenerIterator, getMold, getNextSibling, getPage, getParent, getPreviousSibling, getRedrawCallback, getRoot, getShadowRoots, getShadowVariable, getShadowVariable0, getSpaceOwner, getSpecialRendererOutput, getStubonly, getSubBindingAnnotationCount, getTemplate, getTemplateNames, getUuid, getWidgetAttribute, getWidgetAttributeNames, getWidgetClass, getWidgetListener, getWidgetListenerNames, getWidgetOverride, getWidgetOverrideNames, hasAttribute, hasAttribute, hasAttribute, hasAttributeOrFellow, hasBindingAnnotation, hasFellow, hasFellow, hasSubBindingAnnotation, insertBefore, invalidate, isInvalidated, isListenerAvailable, isVisible, onChildAdded, onChildRemoved, onPageAttached, onPageDetached, query, queryAll, redraw, redrawChildren, removeAttribute, removeAttribute, removeAttribute, removeChild, removeEventListener, removeForward, removeForward, removeRedrawCallback, removeScopeListener, removeShadowRoot, render, render, render, replace, response, response, response, service, sessionDidActivate, sessionWillPassivate, setAttribute, setAttribute, setAttribute, setAuService, setAutag, setClientAttribute, setDefinition, setDefinition, setId, setMold, setPage, setPageBefore, setParent, setStubonly, setStubonly, setSubBindingAnnotationCount, setTemplate, setVisible, setVisibleDirectly, setWidgetAttribute, setWidgetClass, setWidgetListener, setWidgetOverride, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdateWidgetListener, smartUpdateWidgetOverride, toString, updateByClient, updateSubBindingAnnotationCount, willPassivate, willPassivate, willSerialize, willSerialize
 
Methods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

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.

If null or empty is specified, getDefaultFormat() is assumed. Since 5.0.7, you could specify one of the following reserved words, and DateFormats.getTimeFormat(int, java.util.Locale, java.lang.String) will be used to retrieve the real format.

short DateFormats.getTimeFormat(int, java.util.Locale, java.lang.String) with DateFormat.SHORT
medium DateFormats.getTimeFormat(int, java.util.Locale, java.lang.String) with DateFormat.MEDIUM
long DateFormats.getTimeFormat(int, java.util.Locale, java.lang.String) with DateFormat.LONG
full DateFormats.getTimeFormat(int, java.util.Locale, java.lang.String) with DateFormat.FULL

In additions, the format could be a combination of the following pattern letters:

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

getRealFormat

public java.lang.String getRealFormat()
Returns the real format, i.e., the combination of the format patterns, such as hh:mm.

As described in setFormat(java.lang.String), a developer could specify an abstract name, such as short, or an empty string as the format, and this method will convert it to a real time format.

Overrides:
getRealFormat in class FormatInputElement
Since:
5.0.7

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 Minute field is effective.

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 Minute field will be sent(render) to client.

Throws:
WrongValueException - if value is wrong

isButtonVisible

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

Default: true.


setButtonVisible

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


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


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


getLocale

public java.util.Locale getLocale()
Returns the locale associated with this timebox, or null if Locales.getCurrent() is preferred.

Since:
5.0.7

setLocale

public void setLocale(java.util.Locale locale)
Sets the locale used to identify the format of this timebox.

Default: null (i.e., Locales.getCurrent(), the current locale is assumed)

Since:
5.0.7

setLocale

public void setLocale(java.lang.String locale)
Sets the locale used to identify the format of this timebox.

Default: null (i.e., Locales.getCurrent(), the current locale is assumed)

Since:
5.0.7

getDefaultFormat

protected java.lang.String getDefaultFormat()
Returns the default format, which is used when constructing a timebox.

Default: DateFormats.getTimeFormat(DEFAULT, null, "HH:mm") (see DateFormats.getTimeFormat(int, java.util.Locale, java.lang.String)).

Though you might override this method to provide your own default format, it is suggested to specify the format for the current thread with DateFormats.setLocalFormatInfo(org.zkoss.text.DateFormatInfo).

Since:
5.0.7

marshall

protected java.lang.Object marshall(java.lang.Object value)
Description copied from class: InputElement
Marshall value to be sent to the client if needed.

Overrides it if the value to be sent to the client is not JSON Compatible.

Overrides:
marshall in class InputElement
Parameters:
value - the value to be sent to the client
Returns:
the marshalled value

unmarshall

protected java.lang.Object unmarshall(java.lang.Object value)
Description copied from class: InputElement
Unmarshall value returned from client if needed.

Overrides it if the value returned is not JSON Compatible.

Overrides:
unmarshall in class InputElement
Parameters:
value - the value returned from client
Returns:
the unmarshalled value

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 (AbstractComponent.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.

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 ZK Client-side Reference: Property Rendering

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


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