Class NumberInputElement

    • Nested Class Summary

      • Nested classes/interfaces inherited from class org.zkoss.zk.ui.HtmlBasedComponent

        org.zkoss.zk.ui.HtmlBasedComponent.ExtraCtrl
      • Nested classes/interfaces inherited from class org.zkoss.zk.ui.AbstractComponent

        org.zkoss.zk.ui.AbstractComponent.Children, org.zkoss.zk.ui.AbstractComponent.ForwardInfo, org.zkoss.zk.ui.AbstractComponent.TargetInfo
    • Field Summary

      • 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_CLONED, 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.String formatNumber​(java.lang.Object value, java.lang.String defaultFormat)
      Formats a number (Integer, BigDecimal...) into a string.
      protected java.lang.String getDefaultFormat()
      Return a default format for the number input element when the locale is specified.
      protected java.util.Locale getDefaultLocale()
      Returns the default locale, either getLocale() or Locales.getCurrent() (never null).
      java.util.Locale getLocale()
      Returns the locale associated with this number input element, or null if Locales.getCurrent() is preferred.
      org.zkoss.zk.ui.sys.PropertyAccess getPropertyAccess​(java.lang.String prop)  
      int getRoundingMode()
      Returns the rounding mode.
      protected boolean isLocaleFormat()
      Returns if the "locale:" in FormatInputElement.getFormat() is presented.
      protected void renderProperties​(org.zkoss.zk.ui.sys.ContentRenderer renderer)  
      void setLocale​(java.lang.String locale)
      Sets the locale used to identify the symbols of this number input element.
      void setLocale​(java.util.Locale locale)
      Sets the locale used to identify the symbols of this number input element.
      void setRoundingMode​(int mode)
      Sets the rounding mode.
      void setRoundingMode​(java.lang.String name)
      Sets the rounding mode by the name.
      protected java.lang.Object[] toNumberOnly​(java.lang.String val)
      Filters out non digit characters, such comma and whitespace, from the specified value.
      • 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, getZclass, 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
      • Methods inherited from class java.lang.Object

        equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • NumberInputElement

        public NumberInputElement()
    • Method Detail

      • setRoundingMode

        public void setRoundingMode​(int mode)
        Sets the rounding mode. Note: You cannot change the rounding mode unless you are using Java 6 or later.
        Parameters:
        mode - the rounding mode. Allowed value: BigDecimal.ROUND_CEILING, BigDecimal.ROUND_DOWN, BigDecimal.ROUND_FLOOR, BigDecimal.ROUND_HALF_DOWN, BigDecimal.ROUND_HALF_UP, BigDecimal.ROUND_HALF_EVEN, BigDecimal.ROUND_UNNECESSARY and BigDecimal.ROUND_UP
        Throws:
        java.lang.UnsupportedOperationException - if Java 5 or below
      • setRoundingMode

        public void setRoundingMode​(java.lang.String name)
        Sets the rounding mode by the name. Note: You cannot change the rounding mode unless you are using Java 6 or later.
        Parameters:
        name - the rounding mode's name. Allowed value:
        CEILING
        Rounding mode to round towards positive infinity.
        DOWN
        Rounding mode to round towards zero.
        FLOOR
        Rounding mode to round towards negative infinity.
        HALF_DOWN
        Rounding mode to round towards "nearest neighbor" unless both neighbors are equidistant, in which case round down.
        HALF_EVEN
        Rounding mode to round towards the "nearest neighbor" unless both neighbors are equidistant, in which case, round towards the even neighbor.
        HALF_UP
        Rounding mode to round towards "nearest neighbor" unless both neighbors are equidistant, in which case round up.
        UNNECESSARY
        Rounding mode to assert that the requested operation has an exact result, hence no rounding is necessary.
        UP
        Rounding mode to round away from zero.
        Throws:
        java.lang.UnsupportedOperationException - if Java 5 or below
        See Also:
        RoundingModes
      • getRoundingMode

        public int getRoundingMode()
        Returns the rounding mode.

        Default: BigDecimal.ROUND_HALF_EVEN.

      • getLocale

        public java.util.Locale getLocale()
        Returns the locale associated with this number input element, or null if Locales.getCurrent() is preferred.
        Since:
        5.0.8
      • setLocale

        public void setLocale​(java.util.Locale locale)
        Sets the locale used to identify the symbols of this number input element.

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

        If the format of FormatInputElement.getFormat() is null, the format is assumed from getDefaultFormat(). (since 5.0.9)

        Since:
        5.0.8
      • setLocale

        public void setLocale​(java.lang.String locale)
        Sets the locale used to identify the symbols of this number input element.

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

        Since:
        5.0.8
      • getDefaultLocale

        protected java.util.Locale getDefaultLocale()
        Returns the default locale, either getLocale() or Locales.getCurrent() (never null). It is useful when you wan to get a locale for this input.
        Since:
        5.0.10
      • renderProperties

        protected void renderProperties​(org.zkoss.zk.ui.sys.ContentRenderer renderer)
                                 throws java.io.IOException
        Overrides:
        renderProperties in class FormatInputElement
        Throws:
        java.io.IOException
      • getDefaultFormat

        protected java.lang.String getDefaultFormat()
        Return a default format for the number input element when the locale is specified.

        Default: ##,##0.##, you can overwrite this by specifying the following setting in zk.xml

        
        	<library-property>
        		<name>org.zkoss.zul.numberFormat</name>
        		<value>##,##0.##</value>
        	</library-property>
         
        Since:
        5.0.9
        See Also:
        setLocale(Locale)
      • formatNumber

        protected java.lang.String formatNumber​(java.lang.Object value,
                                                java.lang.String defaultFormat)
        Formats a number (Integer, BigDecimal...) into a string. If null, an empty string is returned.

        A utility to assist the handling of numeric data.

        Parameters:
        defaultFormat - used if FormatInputElement.getFormat() returns null. If defaultFormat and FormatInputElement.getFormat() are both null, the system's default format is used.
        See Also:
        toNumberOnly(java.lang.String)
      • toNumberOnly

        protected java.lang.Object[] toNumberOnly​(java.lang.String val)
        Filters out non digit characters, such comma and whitespace, from the specified value. It is designed to let user enter data in more free style. They may or may not enter data in the specified format.
        Returns:
        a two element array. The first element is the string to parse with, say, Double.parseDouble. The second element is an integer to indicate how many digits the result shall be scaled. For example, if the second element is 2. Then, the result shall be divided with 10 ^ 2.
        See Also:
        formatNumber(java.lang.Object, java.lang.String)
      • getPropertyAccess

        public org.zkoss.zk.ui.sys.PropertyAccess getPropertyAccess​(java.lang.String prop)
        Specified by:
        getPropertyAccess in interface org.zkoss.zk.ui.sys.ComponentCtrl
        Overrides:
        getPropertyAccess in class FormatInputElement