Package org.zkoss.zul

Class Image

java.lang.Object
org.zkoss.zk.ui.AbstractComponent
org.zkoss.zk.ui.HtmlBasedComponent
org.zkoss.zul.impl.XulElement
org.zkoss.zul.Image
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:
Captcha, Imagemap

public class Image extends XulElement
An image.

[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:

 <image ...>
     <custom-attributes org.zkoss.zul.image.preload='true'/>
 </image>
 
Or specify it onto the root component. For example,
 <window ...>
     <custom-attributes org.zkoss.zul.image.preload="true"/>
     <image .../>
 </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/>
 

See also how to fix the alpha transparency problem of PNG files found in IE6?

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
    Constructor
    Description
     
     
  • Method Summary

    Modifier and Type
    Method
    Description
    org.zkoss.image.Image
    Returns the content set by setContent(org.zkoss.image.Image).
     
    Returns the URI of the hover image.
    Returns the source URI of the image.
    protected boolean
    Default: not childable.
    protected void
    renderProperties(org.zkoss.zk.ui.sys.ContentRenderer renderer)
     
    void
    Sets the content directly with the rendered image.
    void
    setContent(org.zkoss.image.Image image)
    Sets the content directly.
    void
    Sets the image URI.
    void
    Sets the content of the hover image directly with the rendered image.
    void
    setHoverContent(org.zkoss.image.Image image)
    Sets the content of the hover image directly.
    void
    Sets the source URI of the image.

    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, getStubonlyDescendants, 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, 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, setStubonlyDescendants, 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

    • Image

      public Image()
    • Image

      public Image(String src)
  • Method Details

    • getSrc

      public String getSrc()
      Returns the source URI of the image.

      Default: null.

    • setSrc

      public void setSrc(String src)
      Sets the source URI of the image.

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

      Parameters:
      src - the URI of the image source
      See Also:
    • setContent

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

      Default: null.

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

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

      public void setContent(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 setContent(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
    • getContent

      public org.zkoss.image.Image getContent()
      Returns the content set by setContent(org.zkoss.image.Image).

      Note: it won't fetch what is set thru by setSrc(java.lang.String). It simply returns what is passed to setContent(org.zkoss.image.Image).

    • getHover

      public String getHover()
      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
    • setHover

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

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

      Since:
      3.5.0
      See Also:
    • setHoverContent

      public void setHoverContent(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 setHover(null). In other words, the last invocation of setHoverContent(org.zkoss.image.Image) overrides the previous setHover(java.lang.String), if any.

      Parameters:
      image - the image to display.
      Since:
      3.5.0
      See Also:
    • setHoverContent

      public void setHoverContent(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 setHoverContent(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 IOException
      Overrides:
      renderProperties in class XulElement
      Throws:
      IOException
    • isChildable

      protected boolean isChildable()
      Default: not childable.
      Overrides:
      isChildable in class org.zkoss.zk.ui.AbstractComponent
    • getExtraCtrl

      public Object getExtraCtrl()
      Specified by:
      getExtraCtrl in interface org.zkoss.zk.ui.sys.ComponentCtrl
      Overrides:
      getExtraCtrl in class org.zkoss.zk.ui.HtmlBasedComponent