Class Timebox
- java.lang.Object
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Cloneable
,Component
,Disable
,Readonly
,Scope
,ComponentCtrl
,Constrainted
public class Timebox extends DateTimeFormatInputElement
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.
- 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
andDatebox
, 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 10.0.0, if cols is not set by user, it will match the formatted value at the beginning (or 5 when value is null).
- 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, AbstractComponent.ForwardInfo, AbstractComponent.TargetInfo
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
DEFAULT_FORMAT
-
Fields inherited from class org.zkoss.zul.impl.DateTimeFormatInputElement
_locale, _tzone
-
Fields inherited from class org.zkoss.zul.impl.InputElement
_cols, _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
AFTER_CHILD_ADDED, AFTER_CHILD_REMOVED, AFTER_PAGE_ATTACHED, AFTER_PAGE_DETACHED, AFTER_PARENT_CHANGED, CE_BUSY_IGNORE, CE_DUPLICATE_IGNORE, CE_IMPORTANT, CE_NON_DEFERRABLE, CE_REPEAT_IGNORE
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.lang.Object
coerceFromString(java.lang.String value)
Coerces the value passed toInputElement.setText(java.lang.String)
.protected java.lang.String
coerceToString(java.lang.Object value)
Coerces the value passed toInputElement.setText(java.lang.String)
.protected java.text.DateFormat
getDateFormat(java.lang.String fmt)
Returns the date format of the time only,protected java.lang.String
getDefaultFormat()
Returns the default format, which is used when constructing a timebox.PropertyAccess
getPropertyAccess(java.lang.String prop)
Returns the corresponding property access object from the given property name, if any.java.lang.String
getRealFormat()
Returns the real format, i.e., the combination of the format patterns, such as hh:mm.java.lang.String
getZclass()
Returns the ZK Cascading Style class 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
setConstraint(java.lang.String constr)
void
setFormat(java.lang.String format)
Sets the date format.void
setValueInLocalDate(java.time.LocalDate value)
It is meaningless to set only LocalDate in timebox.-
Methods inherited from class org.zkoss.zul.impl.DateTimeFormatInputElement
getLocale, getTimeZone, getValue, getValueInLocalDate, getValueInLocalDateTime, getValueInLocalTime, getValueInZonedDateTime, getZoneId, setConstraint, setLocale, setLocale, setTimeZone, setTimeZone, setValue, setValueInLocalDateTime, setValueInLocalTime, setValueInZonedDateTime, toDate, toDate, toDate, toZonedDateTime
-
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, getConstraintString, getErrorboxIconSclass, getErrorboxSclass, getErrorMessage, getInputAttributes, getInstant, getMaxlength, getName, getPlaceholder, getRawText, getRawValue, getTargetValue, getText, getType, isChildable, isDisabled, isInplace, isInstant, isMultiline, isReadonly, isValid, marshall, onWrongValue, select, service, setCols, setDisabled, setErrorboxIconSclass, setErrorboxSclass, setErrorMessage, setInplace, setInputAttributes, setInputAttributes, setInsertedText, setInstant, setMaxlength, setName, setPlaceholder, setRawValue, setReadonly, setSelectedText, setSelectionRange, setText, setValueDirectly, showCustomError, unmarshall, validate
-
Methods inherited from class org.zkoss.zul.impl.XulElement
getContext, getCtrlKeys, getPopup, getTooltip, setContext, setContext, setContextAttributes, setCtrlKeys, setPopup, setPopup, setPopupAttributes, setTooltip, setTooltip, setTooltipAttributes
-
Methods inherited from class org.zkoss.zk.ui.HtmlBasedComponent
addSclass, evalCSSFlex, focus, getAction, getClientAction, getDraggable, getDroppable, getExtraCtrl, getHeight, getHflex, getLeft, getRenderdefer, getSclass, getStyle, getTabindex, getTabindexInteger, getTooltiptext, getTop, getVflex, getWidth, getZindex, getZIndex, removeSclass, removeSclass, setAction, setClass, setClientAction, setDraggable, setDroppable, setFocus, setHeight, setHeight0, setHeightDirectly, setHflex, setHflex0, setHflexDirectly, setLeft, setLeftDirectly, setRenderdefer, setSclass, setStyle, setTabindex, setTabindex, setTooltiptext, setTop, setTopDirectly, setVflex, setVflex0, setVflexDirectly, setWidth, setWidth0, setWidthDirectly, setZclass, setZindex, setZIndex, setZIndexDirectly
-
Methods inherited from class org.zkoss.zk.ui.AbstractComponent
addAnnotation, addCallback, addClientEvent, addEventHandler, addEventListener, addEventListener, addForward, addForward, addForward, addForward, addMoved, addRedrawCallback, addScopeListener, addShadowRoot, addShadowRootBefore, addSharedEventHandlerMap, appendChild, applyProperties, beforeChildAdded, beforeChildRemoved, beforeParentChanged, destroyIndexCacheMap, detach, didActivate, didActivate, didDeserialize, didDeserialize, disableBindingAnnotation, disableClientUpdate, disableHostChanged, enableBindingAnnotation, enableHostChanged, getAnnotatedProperties, getAnnotatedPropertiesBy, getAnnotation, getAnnotations, getAnnotations, getAttribute, getAttribute, getAttribute, getAttributeOrFellow, getAttributes, getAttributes, getAuService, getAutag, getCallback, getChildren, getClientAttribute, getClientDataAttribute, getClientEvents, getDefaultMold, getDefinition, getDesktop, getEventHandler, getEventHandlerNames, getEventListenerMap, getEventListeners, getFellow, getFellow, getFellowIfAny, getFellowIfAny, getFellows, getFirstChild, getForwards, getId, getIndexCacheMap, getLastChild, getMold, getNextSibling, getPage, getParent, getPreviousSibling, getRedrawCallback, getRoot, getShadowFellowIfAny, getShadowRoots, getShadowVariable, getShadowVariable, getShadowVariable0, getSpaceOwner, getSpecialRendererOutput, getStubonly, getSubBindingAnnotationCount, getTemplate, getTemplateNames, getUuid, getWidgetAttributeNames, getWidgetClass, getWidgetListener, getWidgetListenerNames, getWidgetOverride, getWidgetOverrideNames, hasAttribute, hasAttribute, hasAttribute, hasAttributeOrFellow, hasBindingAnnotation, hasFellow, hasFellow, hasSubBindingAnnotation, initIndexCacheMap, insertBefore, invalidate, isDisabledHostChanged, isInitialized, isInvalidated, isListenerAvailable, isVisible, onChildAdded, onChildRemoved, onPageAttached, onPageDetached, onParentChanged, query, queryAll, redraw, redrawChildren, removeAttribute, removeAttribute, removeAttribute, removeCallback, removeChild, removeEventListener, removeForward, removeForward, removeRedrawCallback, removeScopeListener, removeShadowRoot, render, render, render, renderPropertiesOnly, replace, response, response, response, service, sessionDidActivate, sessionWillPassivate, setAttribute, setAttribute, setAttribute, setAuService, setAutag, setClientAttribute, setClientDataAttribute, setDefinition, setDefinition, setId, setMold, setPage, setPageBefore, setParent, setStubonly, setStubonly, setSubBindingAnnotationCount, setTemplate, setVisible, setVisibleDirectly, setWidgetClass, setWidgetListener, setWidgetOverride, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdateWidgetListener, smartUpdateWidgetOverride, toString, updateByClient, updateSubBindingAnnotationCount, willPassivate, willPassivate, willSerialize, willSerialize
-
-
-
-
Field Detail
-
DEFAULT_FORMAT
public static final java.lang.String DEFAULT_FORMAT
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
Timebox
public Timebox()
-
Timebox
public Timebox(java.util.Date date) throws WrongValueException
- Throws:
WrongValueException
-
Timebox
public Timebox(java.time.ZonedDateTime value) throws WrongValueException
- Throws:
WrongValueException
-
Timebox
public Timebox(java.time.LocalDateTime value) throws WrongValueException
- Throws:
WrongValueException
-
Timebox
public Timebox(java.time.LocalTime value) 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, andDateFormats.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)
withDateFormat.SHORT
medium DateFormats.getTimeFormat(int, java.util.Locale, java.lang.String)
withDateFormat.MEDIUM
long DateFormats.getTimeFormat(int, java.util.Locale, java.lang.String)
withDateFormat.LONG
full DateFormats.getTimeFormat(int, java.util.Locale, java.lang.String)
withDateFormat.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 classFormatInputElement
- 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 classFormatInputElement
- Since:
- 5.0.7
-
setValueInLocalDate
public void setValueInLocalDate(java.time.LocalDate value) throws WrongValueException
It is meaningless to set only LocalDate in timebox.- Overrides:
setValueInLocalDate
in classDateTimeFormatInputElement
- Parameters:
value
- the date to be assigned to this component.
Notice that, if this component does not allow users to select the time (i.e., the format limited to year, month and day), the date specified here is better to set hour, minutes, seconds and milliseconds to zero (for the current timezone,TimeZones.getCurrent()
), so it is easier to work with other libraries, such as SQL.Dates
has a set of utilities to simplify the task.- 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.
-
setConstraint
public void setConstraint(java.lang.String constr)
- Overrides:
setConstraint
in classInputElement
- Parameters:
constr
- a list of constraints separated by comma. Example: between 093000 and 183000, before 210000
-
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
-
coerceFromString
protected java.lang.Object coerceFromString(java.lang.String value) throws WrongValueException
Description copied from class:InputElement
Coerces the value passed toInputElement.setText(java.lang.String)
.Deriving note:
If you want to store the value in other type, say BigDecimal, you have to overrideInputElement.coerceToString(java.lang.Object)
andInputElement.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 classInputElement
- Throws:
WrongValueException
-
coerceToString
protected java.lang.String coerceToString(java.lang.Object value)
Description copied from class:InputElement
Coerces the value passed toInputElement.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 overrideInputElement.coerceToString(java.lang.Object)
andInputElement.coerceFromString(java.lang.String)
to convert between a string and your targeting type.- Specified by:
coerceToString
in classInputElement
-
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 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 ofHtmlBasedComponent.getZclass()
. Once it is changed, the default style won't be applied at all. If you want to perform small adjustments, useHtmlBasedComponent.setSclass(java.lang.String)
instead.- Overrides:
getZclass
in classHtmlBasedComponent
- 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.- Overrides:
renderProperties
in classDateTimeFormatInputElement
- Throws:
java.io.IOException
-
getPropertyAccess
public PropertyAccess getPropertyAccess(java.lang.String prop)
Description copied from interface:ComponentCtrl
Returns the corresponding property access object from the given property name, if any.- Specified by:
getPropertyAccess
in interfaceComponentCtrl
- Overrides:
getPropertyAccess
in classDateTimeFormatInputElement
- Parameters:
prop
- the name of the property- Returns:
- null it means not to support for the property name.
-
-