Package org.zkoss.zul

Class Chart

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

public class Chart extends Imagemap
The generic chart component. Developers set proper chart type, data model, and the threeD (3D) attribute to draw proper chart.

Chart requires an implementation of an engine (ChartEngine). The default engine is based on JFreeChart and available in ZK PE and ZK EE.

The model and type must match to each other; or the result is unpredictable. The 3D chart is not supported on all chart type.

typemodel3D
areaCategoryModel or XYModelNo
barCategoryModelYes
bubbleXYZModelNo
candlestickHiLoModelNo
dial@{link DialModel}No
ganttGanttModelNo
highlowHiLoModelNo
histogramXYModelNo
lineCategoryModel or XYModelYes
piePieModelYes
polarXYModelNo
ringPieModelNo
scatterXYModelNo
stacked_barCategoryModelYes
stacked_areaCategoryModel or XYModelNo
stepXYModelNo
step_areaXYModelNo
time_seriesXYModelNo
wafermapWaferMapModelNo
waterfallCategoryModelNo
windXYZModelNo
Author:
henrichen
See Also:
  • Nested Class Summary

    Nested classes/interfaces inherited from class org.zkoss.zul.Image

    Image.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
    Modifier and Type
    Field
    Description
    static final String
     
    static final String
     
    static final String
     
    static final String
     
    static final String
     
    static final String
     
    static final String
     
    static final String
     
    static final String
     
    static final String
     
    static final String
     
    static final String
     
    static final String
     
    static final String
     
    static final String
     
    static final String
     
    static final String
     
    static final String
     
    static final String
     
    static final String
     
    static final String
     
    static final String
     
    static final String
     
    static final String
     
    static final String
     
    static final String
     
    static final String
     
    static final String
     
    static final String
     
    static final String
     
    static final String
     
    static final String
     

    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
    boolean
    addEventListener(String evtnm, org.zkoss.zk.ui.event.EventListener<? extends org.zkoss.zk.ui.event.Event> listener)
     
     
    Returns the renderer to render each area, or null if the default renderer is used.
    int
    Get the background alpha (transparency, 0 ~ 255, opaque).
    Get the background color of the chart (in string as #RRGGBB).
    int[]
    Get the background color in int array (0: red, 1: green, 2:blue).
    Returns the date format used by date related Chart.
    Returns the implementation chart engine.
    int
    Get the foreground alpha (transparency, 0 ~ 255, opaque).
    int
    Get the chart int width in pixel; to be used by the derived subclass.
    int
    Get the chart int width in pixel; to be used by the derived subclass.
    Returns the legend font of this chart.
    Returns the chart model associated with this chart, or null if this chart is not associated with any chart data model.
    Get the chart orientation (vertical or horizontal)
    int
    Get the pane alpha (transparency, 0 ~ 255, opacue).
    Get the pane color of the chart (in string as #RRGGBB).
    int[]
    Get the pane color in int array (0: red, 1: green, 2:blue).
    Returns the period used in Time Series Chart.
    Returns the time zone that this Time Series Chart belongs to, or null if the default time zone is used.
    Get the chart's title.
    Returns the title font of this chart.
    Get the chart's type.
    Get the label in xAxis.
    Returns the label font of x axis of this chart.
    Returns the tick number font of x axis of this chart.
    Get the label in yAxis.
    Returns the label font of y axis of this chart.
    Returns the tick number font of y axis of this chart.
    boolean
    Check whether show the legend of the chart.
    boolean
    Check whether show the tooltiptext.
    boolean
    Whether a 3d chart.
    protected ChartEngine
    Instantiates the default chart engine.
    void
    onPageAttached(org.zkoss.zk.ui.Page newpage, org.zkoss.zk.ui.Page oldpage)
     
    void
    onPageDetached(org.zkoss.zk.ui.Page page)
     
    void
    Sets the renderer by use of a class name.
    void
    Sets the renderer which is used to render each area.
    void
    setBgAlpha(int alpha)
    Set the background alpha (transparency, 0 ~ 255).
    void
    Set the background color of the chart.
    void
    Sets the date format used by date related Chart.
    void
    Sets the chart engine by use of a class name.
    void
    Sets the chart engine.
    void
    setFgAlpha(int alpha)
    Set the foreground alpha (transparency, 0 ~ 255).
    void
    Override super class to prepare the int height.
    void
    Overrides the method in HtmlBasedComponent, not to check using hflex and width at the same time
    void
    Sets the legend font of this chart.
    void
    Sets the model by use of a class name.
    void
    Sets the chart model associated with this chart.
    void
    setOrient(String orient)
    Set the chart orientation.
    void
    setPaneAlpha(int alpha)
    Set the pane alpha (transparency, 0 ~ 255).
    void
    Set the pane color of the chart.
    void
    setPeriod(String period)
    Sets the period used in Time Series Chart.
    void
    setShowLegend(boolean showLegend)
    whether show the chart's legend.
    void
    setShowTooltiptext(boolean showTooltiptext)
    whether show the chart's tooltip.
    void
    setThreeD(boolean b)
    Set true to show three dimensional graph (If a type of chart got no 3d peer, this is ignored).
    void
    Sets the time zone that this Time Series Chart belongs to, or null if the default time zone is used.
    void
    Set the chart's title.
    void
    Sets the title font of this chart.
    void
    Set the chart's type (Chart.PIE, Chart.BAR, Chart.LINE, etc.).
    void
    Overrides the method in HtmlBasedComponent, not to check using vflex and height at the same time
    void
    Override super class to prepare the int width.
    void
    Set the label in xAxis.
    void
    setXAxisFont(Font axisFont)
    Sets the label font of x axis of this chart.
    void
    setXAxisTickFont(Font axisTickFont)
    Sets the tick number font of x axis of this chart.
    void
    Set the label in yAxis.
    void
    setYAxisFont(Font axisFont)
    Sets the label font of y axis of this chart.
    void
    setYAxisTickFont(Font axisTickFont)
    Sets the tick number font of y axis of this chart.
    protected void
    mark a draw flag to inform that this Chart needs update.

    Methods inherited from class org.zkoss.zul.Imagemap

    beforeChildAdded, isChildable

    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, setHeight0, setHeightDirectly, setHflex0, setHflexDirectly, setLeft, setLeftDirectly, setRenderdefer, setSclass, setSkeleton, setStyle, setTabindex, setTabindex, setTooltiptext, setTop, setTopDirectly, setVflex0, setVflexDirectly, setWidth0, setWidthDirectly, setZclass, setZindex, setZIndex, setZIndexDirectly

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

    addAnnotation, addCallback, addClientEvent, addEventHandler, addEventListener, addForward, addForward, addForward, addForward, addMoved, addRedrawCallback, addScopeListener, addShadowRoot, addShadowRootBefore, addSharedEventHandlerMap, appendChild, applyProperties, 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, 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
  • Field Details

  • Constructor Details

    • Chart

      public Chart()
  • Method Details

    • setType

      public void setType(String type)
      Set the chart's type (Chart.PIE, Chart.BAR, Chart.LINE, etc.).

      Default: pie.

    • getType

      public String getType()
      Get the chart's type.
    • setThreeD

      public void setThreeD(boolean b)
      Set true to show three dimensional graph (If a type of chart got no 3d peer, this is ignored).
    • isThreeD

      public boolean isThreeD()
      Whether a 3d chart.
    • setTitle

      public void setTitle(String title)
      Set the chart's title.
      Parameters:
      title - the chart's title.
    • getTitle

      public String getTitle()
      Get the chart's title.
    • setWidth

      public void setWidth(String w)
      Override super class to prepare the int width.
      Overrides:
      setWidth in class org.zkoss.zk.ui.HtmlBasedComponent
    • setHflex

      public void setHflex(String flex)
      Overrides the method in HtmlBasedComponent, not to check using hflex and width at the same time
      Overrides:
      setHflex in class org.zkoss.zk.ui.HtmlBasedComponent
      Since:
      8.0.1
    • getIntWidth

      public int getIntWidth()
      Get the chart int width in pixel; to be used by the derived subclass.
    • setHeight

      public void setHeight(String h)
      Override super class to prepare the int height.
      Overrides:
      setHeight in class org.zkoss.zk.ui.HtmlBasedComponent
    • setVflex

      public void setVflex(String flex)
      Overrides the method in HtmlBasedComponent, not to check using vflex and height at the same time
      Overrides:
      setVflex in class org.zkoss.zk.ui.HtmlBasedComponent
      Since:
      8.0.1
    • getIntHeight

      public int getIntHeight()
      Get the chart int width in pixel; to be used by the derived subclass.
    • setXAxis

      public void setXAxis(String label)
      Set the label in xAxis.
      Parameters:
      label - label in xAxis.
    • getXAxis

      public String getXAxis()
      Get the label in xAxis.
    • setYAxis

      public void setYAxis(String label)
      Set the label in yAxis.
      Parameters:
      label - label in yAxis.
    • getYAxis

      public String getYAxis()
      Get the label in yAxis.
    • setShowLegend

      public void setShowLegend(boolean showLegend)
      whether show the chart's legend.
      Parameters:
      showLegend - true if want to show the legend (default to true).
    • isShowLegend

      public boolean isShowLegend()
      Check whether show the legend of the chart.
    • setShowTooltiptext

      public void setShowTooltiptext(boolean showTooltiptext)
      whether show the chart's tooltip.
      Parameters:
      showTooltiptext - true if want to pop the tooltiptext (default to true).
    • isShowTooltiptext

      public boolean isShowTooltiptext()
      Check whether show the tooltiptext.
    • setPaneAlpha

      public void setPaneAlpha(int alpha)
      Set the pane alpha (transparency, 0 ~ 255).
      Parameters:
      alpha - the transparency of pane color (0 ~ 255, default to 255 opaque).
    • getPaneAlpha

      public int getPaneAlpha()
      Get the pane alpha (transparency, 0 ~ 255, opacue).
    • setPaneColor

      public void setPaneColor(String color)
      Set the pane color of the chart.
      Parameters:
      color - in #RRGGBB format (hexadecimal).
    • getPaneColor

      public String getPaneColor()
      Get the pane color of the chart (in string as #RRGGBB). null means default.
    • getPaneRGB

      public int[] getPaneRGB()
      Get the pane color in int array (0: red, 1: green, 2:blue). null means default.
    • setFgAlpha

      public void setFgAlpha(int alpha)
      Set the foreground alpha (transparency, 0 ~ 255).
      Parameters:
      alpha - the transparency of foreground color (0 ~ 255, default to 255 opaque).
    • getFgAlpha

      public int getFgAlpha()
      Get the foreground alpha (transparency, 0 ~ 255, opaque).
    • setBgAlpha

      public void setBgAlpha(int alpha)
      Set the background alpha (transparency, 0 ~ 255).
      Parameters:
      alpha - the transparency of background color (0 ~ 255, default to 255 opaque).
    • getBgAlpha

      public int getBgAlpha()
      Get the background alpha (transparency, 0 ~ 255, opaque).
    • setBgColor

      public void setBgColor(String color)
      Set the background color of the chart.
      Parameters:
      color - in #RRGGBB format (hexadecimal).
    • getBgColor

      public String getBgColor()
      Get the background color of the chart (in string as #RRGGBB). null means default.
    • getBgRGB

      public int[] getBgRGB()
      Get the background color in int array (0: red, 1: green, 2:blue). null means default.
    • setOrient

      public void setOrient(String orient)
      Set the chart orientation.
      Parameters:
      orient - vertical or horizontal (default to vertical)
    • getOrient

      public String getOrient()
      Get the chart orientation (vertical or horizontal)
    • getTimeZone

      public TimeZone getTimeZone()
      Returns the time zone that this Time Series Chart belongs to, or null if the default time zone is used.

      The default time zone is determined by TimeZones.getCurrent().

    • setTimeZone

      public void setTimeZone(TimeZone tzone)
      Sets the time zone that this Time Series Chart belongs to, or null if the default time zone is used.

      The default time zone is determined by TimeZones.getCurrent().

    • getPeriod

      public String getPeriod()
      Returns the period used in Time Series Chart. The value can be "millisecond", "second", "minute", "hour", "day", "week", "month", "quarter", and "year". default is "millisecond" if not specified.
    • setPeriod

      public void setPeriod(String period)
      Sets the period used in Time Series Chart. The value can be "millisecond", "second", "minute", "hour", "day", "week", "month", "quarter", and "year".
    • getDateFormat

      public String getDateFormat()
      Returns the date format used by date related Chart.
      Returns:
      the date format used by date related Chart..
    • setDateFormat

      public void setDateFormat(String format)
      Sets the date format used by date related Chart.
      Parameters:
      format -
    • getModel

      public ChartModel getModel()
      Returns the chart model associated with this chart, or null if this chart is not associated with any chart data model.
    • setModel

      public void setModel(ChartModel model)
      Sets the chart model associated with this chart. If a non-null model is assigned, no matter whether it is the same as the previous, it will always cause re-render.
      Parameters:
      model - the chart model to associate, or null to dissociate any previous model.
      Throws:
      org.zkoss.zk.ui.UiException - if failed to initialize with the model
    • setModel

      Sets the model by use of a class name. It creates an instance automatically.
      Throws:
      ClassNotFoundException
      NoSuchMethodException
      IllegalAccessException
      InstantiationException
      InvocationTargetException
    • getTitleFont

      public Font getTitleFont()
      Returns the title font of this chart. If you saw squares rather than correct words in title, check whether the default title font supports your characters (e.g. Chinese). You probably have to set this font accordingly.
      Returns:
      the title font
    • setTitleFont

      public void setTitleFont(Font font)
      Sets the title font of this chart. If you saw squares rather than correct words in title, check whether the default title font supports your characters (e.g. Chinese). You probably have to set this font accordingly.
      Parameters:
      font - the title font of this chart
    • getLegendFont

      public Font getLegendFont()
      Returns the legend font of this chart. If you saw squares rather than correct words in legend, check whether the default legend font supports your characters (e.g. Chinese). You probably have to set this font accordingly.
      Returns:
      the title font
    • setLegendFont

      public void setLegendFont(Font font)
      Sets the legend font of this chart. If you saw squares rather than correct words in legend, check whether the default legend font supports your characters (e.g. Chinese). You probably have to set this font accordingly.
      Parameters:
      font - the legend font of this chart
    • getXAxisTickFont

      public Font getXAxisTickFont()
      Returns the tick number font of x axis of this chart. If you saw squares rather than correct words in x axis tick, check whether the default x axis tick font supports your characters (e.g. Chinese). You probably have to set this font accordingly.
      Returns:
      the tick number font of x axis of this chart
    • setXAxisTickFont

      public void setXAxisTickFont(Font axisTickFont)
      Sets the tick number font of x axis of this chart. If you saw squares rather than correct words in x axis tick, check whether the default x axis tick font supports your characters (e.g. Chinese). You probably have to set this font accordingly.
      Parameters:
      axisTickFont - the tick number font of x axis of this chart
    • getXAxisFont

      public Font getXAxisFont()
      Returns the label font of x axis of this chart. If you saw squares rather than correct words in x axis label, check whether the default x axis label font supports your characters (e.g. Chinese). You probably have to set this font accordingly.
      Returns:
      the label font of x axis of this chart
    • setXAxisFont

      public void setXAxisFont(Font axisFont)
      Sets the label font of x axis of this chart. If you saw squares rather than correct words in x axis label, check whether the default x axis label font supports your characters (e.g. Chinese). You probably have to set this font accordingly.
      Parameters:
      axisFont - the label font of x axis of this chart
    • getYAxisTickFont

      public Font getYAxisTickFont()
      Returns the tick number font of y axis of this chart. If you saw squares rather than correct words in y axis tick, check whether the default y axis tick font supports your characters (e.g. Chinese). You probably have to set this font accordingly.
      Returns:
      the tick number font of y axis of this chart
    • setYAxisTickFont

      public void setYAxisTickFont(Font axisTickFont)
      Sets the tick number font of y axis of this chart. If you saw squares rather than correct words in y axis tick, check whether the default y axis tick font supports your characters (e.g. Chinese). You probably have to set this font accordingly.
      Parameters:
      axisTickFont - the tick number font of y axis of this chart
    • getYAxisFont

      public Font getYAxisFont()
      Returns the label font of y axis of this chart. If you saw squares rather than correct words in y axis label, check whether the default y axis label font supports your characters (e.g. Chinese). You probably have to set this font accordingly.
      Returns:
      the label font of y axis of this chart
    • setYAxisFont

      public void setYAxisFont(Font axisFont)
      Sets the label font of y axis of this chart. If you saw squares rather than correct words in y axis label, check whether the default y axis label font supports your characters (e.g. Chinese). You probably have to set this font accordingly.
      Parameters:
      axisFont - the tick number font of y axis of this chart
    • getEngine

      public ChartEngine getEngine() throws org.zkoss.zk.ui.UiException
      Returns the implementation chart engine.
      Throws:
      org.zkoss.zk.ui.UiException - if failed to load the engine.
    • newChartEngine

      protected ChartEngine newChartEngine() throws org.zkoss.zk.ui.UiException
      Instantiates the default chart engine. It is called, if setEngine(org.zkoss.zul.impl.ChartEngine) is not called with non-null engine.

      By default, it looks up the library property called org.zkoss.zul.chart.engine.class. If found, the value is assumed to be the class name of the chart engine (it must implement ChartEngine). If not found, UiException is thrown.

      Derived class might override this method to provide your own default class.

      Throws:
      org.zkoss.zk.ui.UiException - if failed to instantiate the engine
      Since:
      3.0.0
    • setEngine

      public void setEngine(ChartEngine engine)
      Sets the chart engine.
    • setEngine

      Sets the chart engine by use of a class name. It creates an instance automatically.
      Throws:
      ClassNotFoundException
      NoSuchMethodException
      IllegalAccessException
      InstantiationException
      InvocationTargetException
    • getAreaListener

      public ChartAreaListener getAreaListener()
      Returns the renderer to render each area, or null if the default renderer is used.
    • setAreaListener

      public void setAreaListener(ChartAreaListener listener)
      Sets the renderer which is used to render each area.

      Note: changing a render will not cause the chart to re-render. If you want it to re-render, you could call smartDraw.

      Parameters:
      listener - the area listener, or null to ignore it.
      Throws:
      org.zkoss.zk.ui.UiException - if failed to initialize.
    • setAreaListener

      Sets the renderer by use of a class name. It creates an instance automatically.
      Throws:
      ClassNotFoundException
      NoSuchMethodException
      IllegalAccessException
      InstantiationException
      InvocationTargetException
    • smartDrawChart

      protected void smartDrawChart()
      mark a draw flag to inform that this Chart needs update.
    • addEventListener

      public boolean addEventListener(String evtnm, org.zkoss.zk.ui.event.EventListener<? extends org.zkoss.zk.ui.event.Event> listener)
      Specified by:
      addEventListener in interface org.zkoss.zk.ui.Component
      Overrides:
      addEventListener in class org.zkoss.zk.ui.AbstractComponent
    • clone

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

      public void onPageAttached(org.zkoss.zk.ui.Page newpage, org.zkoss.zk.ui.Page oldpage)
      Specified by:
      onPageAttached in interface org.zkoss.zk.ui.sys.ComponentCtrl
      Overrides:
      onPageAttached in class org.zkoss.zk.ui.AbstractComponent
    • onPageDetached

      public void onPageDetached(org.zkoss.zk.ui.Page page)
      Specified by:
      onPageDetached in interface org.zkoss.zk.ui.sys.ComponentCtrl
      Overrides:
      onPageDetached in class org.zkoss.zk.ui.AbstractComponent