Class LabelImageElement

java.lang.Object
org.zkoss.zk.ui.AbstractComponent
org.zkoss.zk.ui.HtmlBasedComponent
All Implemented Interfaces:
Serializable, Cloneable, org.zkoss.zk.ui.Component, org.zkoss.zk.ui.ext.Scope, org.zkoss.zk.ui.sys.ComponentCtrl
Direct Known Subclasses:
A, Avatar, Breadcrumbitem, Button, Caption, Carouselitem, Checkbox, Chip, 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:
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    protected class 
    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
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
     
    protected
     
    protected
     
  • Method Summary

    Modifier and Type
    Method
    Description
     
     
    Returns the URI of the hover image.
    org.zkoss.image.Image
    Returns the content of the hover image set by setHoverImageContent(Image) or setHoverImageContent(RenderedImage).
    Returns the icon font
    Returns the icon font String array
    Returns the iconTooltip content
    Returns the iconTooltip content String array
    Returns the image URI.
    org.zkoss.image.Image
    Returns the image content set by setImageContent(Image) or setImageContent(RenderedImage).
    org.zkoss.zk.ui.sys.PropertyAccess
     
    boolean
    Returns whether the image is available.
    protected void
    renderProperties(org.zkoss.zk.ui.sys.ContentRenderer renderer)
     
    void
    Sets the image URI.
    void
    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(String iconSclass)
    Sets the icon font, if iconSclasses is set, iconSclass will be ignored, iconSclasses will take precedence over iconSclass
    void
    setIconSclasses(String[] iconSclasses)
    Sets multiple icons font, if iconSclasses is set, iconSclass will be ignored, iconSclasses will take precedence over iconSclass
    void
    setIconTooltip(String iconTooltip)
    Sets the iconTooltip, if iconTooltips is set, iconTooltip will be ignored, iconTooltips will take precedence over iconTooltip
    void
    setIconTooltips(String[] iconTooltips)
    Sets multiple iconTooltips, if iconTooltips is set, iconTooltip will be ignored, iconTooltips will take precedence over iconTooltip
    void
    Sets the image URI.
    void
    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.zul.impl.LabelElement

    getLabel, renderCrawlable, setLabel

    Methods inherited from class org.zkoss.zk.ui.HtmlBasedComponent

    addSclass, evalCSSFlex, focus, getAction, getClientAction, getDraggable, getDroppable, getHeight, getHflex, getLeft, getRenderdefer, getSclass, getSkeleton, 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, setSkeleton, 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 Details

    • LabelImageElement

      protected LabelImageElement()
    • LabelImageElement

      protected LabelImageElement(String label, String image)
      Since:
      5.0.0
    • LabelImageElement

      protected LabelImageElement(String label)
      Since:
      5.0.0
  • Method Details

    • setIconSclass

      public void setIconSclass(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(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 String getIconSclass()
      Returns the icon font
      Since:
      7.0.0
    • getIconSclasses

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

      public void setIconTooltip(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(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 String getIconTooltip()
      Returns the iconTooltip content
      Since:
      10.0.0
    • getIconTooltips

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

      public String getImage()
      Returns the image URI.

      Default: null.

    • setImage

      public void setImage(String src)
      Sets the image URI.

      Calling this method implies setImageContent(null). In other words, the last invocation of setImage(java.lang.String) overrides the previous setImageContent(org.zkoss.image.Image), if any. The image would hide if src == null

      See Also:
    • setImageContent

      public void setImageContent(org.zkoss.image.Image image)
      Sets the content directly.

      Default: null.

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

      Parameters:
      image - the image to display.
      See Also:
    • setImageContent

      public void setImageContent(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
    • getImageContent

      public org.zkoss.image.Image getImageContent()
      Returns the image content set by setImageContent(Image) or setImageContent(RenderedImage).

      Note: it won't load the content specified by setImage(java.lang.String). Actually, it returns null if setImage(java.lang.String) was called.

    • getHoverImage

      public 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(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
    • getHoverImageContent

      public org.zkoss.image.Image getHoverImageContent()
      Returns the content of the hover image set by setHoverImageContent(Image) or setHoverImageContent(RenderedImage).

      Note: it won't load the content specified by setImage(java.lang.String). Actually, it returns null if setImage(java.lang.String) was called.

      Since:
      5.0.8
    • 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(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
    • isImageAssigned

      public boolean isImageAssigned()
      Returns whether the image is available. In other words, it return true if setImage(java.lang.String) or setImageContent(org.zkoss.image.Image) is called with non-null.
    • renderProperties

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

      public 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(String prop)
      Specified by:
      getPropertyAccess in interface org.zkoss.zk.ui.sys.ComponentCtrl
      Overrides:
      getPropertyAccess in class LabelElement
    • clone

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