Class LabelImageElement

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, org.zkoss.zk.ui.Component, org.zkoss.zk.ui.ext.Scope, org.zkoss.zk.ui.sys.ComponentCtrl
    Direct Known Subclasses:
    A, Button, Caption, Checkbox, Comboitem, FooterElement, HeaderElement, Listcell, Menu, Menuitem, Tab, Treecell

    public abstract class LabelImageElement
    extends LabelElement
    A XUL element with a label (LabelElement.getLabel()) and an image (getImage()).

    [Since 6.0.0]

    To turn on the preload image function for this component, you have to specify the component's attribute map with key "org.zkoss.zul.image.preload" to true. That is, for example, if in a zul file, you shall specify <custom-attributes> of the component like this:

     <button ...>
         <custom-attributes org.zkoss.zul.image.preload="true"/>
     </button>
     
    Or specify it onto the root component. For example,
     <window ...>
         <custom-attributes org.zkoss.zul.image.preload="true"/>
         <button .../>
     </window>
     
    [Since 6.5.2]

    Preload image function is also configurable from zk.xml by setting library properties. For example,

     <library-property/>
         <name>org.zkoss.zul.image.preload</name/>
         <value>true</value/>
     </library-property/>
     
    Author:
    tomyeh
    See Also:
    Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      protected class  LabelImageElement.ExtraCtrl
      A utility class to implement HtmlBasedComponent.getExtraCtrl().
      • 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
      java.lang.Object clone()  
      java.lang.Object getExtraCtrl()  
      java.lang.String getHoverImage()
      Returns the URI of the hover image.
      org.zkoss.image.Image getHoverImageContent()
      Returns the content of the hover image set by setHoverImageContent(Image) or setHoverImageContent(RenderedImage).
      java.lang.String getIconSclass()
      Returns the icon font
      java.lang.String[] getIconSclasses()
      Returns the icon font String array
      java.lang.String getIconTooltip()
      Returns the iconTooltip content
      java.lang.String[] getIconTooltips()
      Returns the iconTooltip content String array
      java.lang.String getImage()
      Returns the image URI.
      org.zkoss.image.Image getImageContent()
      Returns the image content set by setImageContent(Image) or setImageContent(RenderedImage).
      org.zkoss.zk.ui.sys.PropertyAccess getPropertyAccess​(java.lang.String prop)  
      boolean isImageAssigned()
      Returns whether the image is available.
      protected void renderProperties​(org.zkoss.zk.ui.sys.ContentRenderer renderer)  
      void setHoverImage​(java.lang.String src)
      Sets the image URI.
      void setHoverImageContent​(java.awt.image.RenderedImage image)
      Sets the content of the hover image directly with the rendered image.
      void setHoverImageContent​(org.zkoss.image.Image image)
      Sets the content of the hover image directly.
      void setIconSclass​(java.lang.String iconSclass)
      Sets the icon font, if iconSclasses is set, iconSclass will be ignored, iconSclasses will take precedence over iconSclass
      void setIconSclasses​(java.lang.String[] iconSclasses)
      Sets multiple icons font, if iconSclasses is set, iconSclass will be ignored, iconSclasses will take precedence over iconSclass
      void setIconTooltip​(java.lang.String iconTooltip)
      Sets the iconTooltip, if iconTooltips is set, iconTooltip will be ignored, iconTooltips will take precedence over iconTooltip
      void setIconTooltips​(java.lang.String[] iconTooltips)
      Sets multiple iconTooltips, if iconTooltips is set, iconTooltip will be ignored, iconTooltips will take precedence over iconTooltip
      void setImage​(java.lang.String src)
      Sets the image URI.
      void setImageContent​(java.awt.image.RenderedImage image)
      Sets the content directly with the rendered image.
      void setImageContent​(org.zkoss.image.Image image)
      Sets the content directly.
      • Methods inherited from class org.zkoss.zk.ui.HtmlBasedComponent

        addSclass, evalCSSFlex, focus, getAction, getClientAction, getDraggable, getDroppable, getHeight, getHflex, getLeft, getRenderdefer, getSclass, getStyle, getTabindex, getTabindexInteger, getTooltiptext, getTop, getVflex, getWidth, getZclass, getZindex, getZIndex, removeSclass, removeSclass, service, 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, isChildable, isDisabledHostChanged, isInitialized, isInvalidated, isListenerAvailable, isVisible, onChildAdded, onChildRemoved, onPageAttached, onPageDetached, onParentChanged, onWrongValue, 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

      • LabelImageElement

        protected LabelImageElement()
      • LabelImageElement

        protected LabelImageElement​(java.lang.String label,
                                    java.lang.String image)
        Since:
        5.0.0
      • LabelImageElement

        protected LabelImageElement​(java.lang.String label)
        Since:
        5.0.0
    • Method Detail

      • setIconSclass

        public void setIconSclass​(java.lang.String iconSclass)
        Sets the icon font, if iconSclasses is set, iconSclass will be ignored, iconSclasses will take precedence over iconSclass
        Parameters:
        iconSclass - a CSS class name for the icon font
        Since:
        7.0.0
      • setIconSclasses

        public void setIconSclasses​(java.lang.String[] iconSclasses)
        Sets multiple icons font, if iconSclasses is set, iconSclass will be ignored, iconSclasses will take precedence over iconSclass
        Parameters:
        iconSclasses - a CSS class name String array for the icon font
        Since:
        10.0.0
      • getIconSclass

        public java.lang.String getIconSclass()
        Returns the icon font
        Since:
        7.0.0
      • getIconSclasses

        public java.lang.String[] getIconSclasses()
        Returns the icon font String array
        Since:
        10.0.0
      • setIconTooltip

        public void setIconTooltip​(java.lang.String iconTooltip)
        Sets the iconTooltip, if iconTooltips is set, iconTooltip will be ignored, iconTooltips will take precedence over iconTooltip
        Parameters:
        iconTooltip - a content String for iconTooltip
        Since:
        10.0.0
      • setIconTooltips

        public void setIconTooltips​(java.lang.String[] iconTooltips)
        Sets multiple iconTooltips, if iconTooltips is set, iconTooltip will be ignored, iconTooltips will take precedence over iconTooltip
        Parameters:
        iconTooltips - a content String array for iconTooltip
        Since:
        10.0.0
      • getIconTooltip

        public java.lang.String getIconTooltip()
        Returns the iconTooltip content
        Since:
        10.0.0
      • getIconTooltips

        public java.lang.String[] getIconTooltips()
        Returns the iconTooltip content String array
        Since:
        10.0.0
      • getImage

        public java.lang.String getImage()
        Returns the image URI.

        Default: null.

      • setImageContent

        public void setImageContent​(java.awt.image.RenderedImage image)
        Sets the content directly with the rendered image. It actually encodes the rendered image to an PNG image (Image) with Images.encode(java.lang.String, java.awt.image.RenderedImage, float, boolean), and then invoke setImageContent(org.zkoss.image.Image).

        If you want more control such as different format, quality, and naming, you can use Images directly.

        Since:
        3.0.7
      • getHoverImage

        public java.lang.String getHoverImage()
        Returns the URI of the hover image. The hover image is used when the mouse is moving over this component.

        Default: null.

        Since:
        3.5.0
      • setHoverImage

        public void setHoverImage​(java.lang.String src)
        Sets the image URI. The hover image is used when the mouse is moving over this component.

        Calling this method implies setHoverImageContent(null). In other words, the last invocation of setHoverImage(java.lang.String) overrides the previous setHoverImageContent(org.zkoss.image.Image), if any.

        Since:
        3.5.0
      • setHoverImageContent

        public void setHoverImageContent​(org.zkoss.image.Image image)
        Sets the content of the hover image directly. The hover image is used when the mouse is moving over this component.

        Default: null.

        Calling this method implies setHoverImage(null). In other words, the last invocation of setHoverImageContent(org.zkoss.image.Image) overrides the previous setHoverImage(java.lang.String), if any.

        Parameters:
        image - the image to display.
        Since:
        3.5.0
      • setHoverImageContent

        public void setHoverImageContent​(java.awt.image.RenderedImage image)
        Sets the content of the hover image directly with the rendered image. The hover image is used when the mouse is moving over this component.

        It actually encodes the rendered image to an PNG image (Image) with Images.encode(java.lang.String, java.awt.image.RenderedImage, float, boolean), and then invoke setHoverImageContent(org.zkoss.image.Image).

        If you want more control such as different format, quality, and naming, you can use Images directly.

        Since:
        3.5.0
      • renderProperties

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

        public java.lang.Object getExtraCtrl()
        Specified by:
        getExtraCtrl in interface org.zkoss.zk.ui.sys.ComponentCtrl
        Overrides:
        getExtraCtrl in class org.zkoss.zk.ui.HtmlBasedComponent
      • 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 LabelElement
      • clone

        public java.lang.Object clone()
        Specified by:
        clone in interface org.zkoss.zk.ui.Component
        Overrides:
        clone in class XulElement