Package org.zkoss.zul

## Class Chart

- java.lang.Object
- - org.zkoss.zk.ui.AbstractComponent
  - - org.zkoss.zk.ui.HtmlBasedComponent
    - - org.zkoss.zul.impl.XulElement
      - - org.zkoss.zul.Image
        - - org.zkoss.zul.Imagemap
          - - org.zkoss.zul.Chart

- All Implemented Interfaces:
    `java.io.Serializable`, `java.lang.Cloneable`, `Component`, `Scope`, `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.

  type | model | 3D
  --- | --- | ---
  area | `CategoryModel` or `XYModel` | No
  bar | `CategoryModel` | Yes
  bubble | `XYZModel` | No
  candlestick | `HiLoModel` | No
  dial | @{link DialModel} | No
  gantt | `GanttModel` | No
  highlow | `HiLoModel` | No
  histogram | `XYModel` | No
  line | `CategoryModel` or `XYModel` | Yes
  pie | `PieModel` | Yes
  polar | `XYModel` | No
  ring | `PieModel` | No
  scatter | `XYModel` | No
  stacked_bar | `CategoryModel` | Yes
  stacked_area | `CategoryModel` or `XYModel` | No
  step | `XYModel` | No
  step_area | `XYModel` | No
  time_series | `XYModel` | No
  wafermap | `WaferMapModel` | No
  waterfall | `CategoryModel` | No
  wind | `XYZModel` | No

  Author:
    henrichen
  See Also:
    `ChartEngine`, `ChartModel`, Serialized Form

- - ### 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

      `AbstractComponent.Children, AbstractComponent.ForwardInfo, AbstractComponent.TargetInfo`

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static java.lang.String` | `AREA` |
    `static java.lang.String` | `BAR` |
    `static java.lang.String` | `BUBBLE` |
    `static java.lang.String` | `CANDLESTICK` |
    `static java.lang.String` | `COMBINATION` |
    `static java.lang.String` | `DAY` |
    `static java.lang.String` | `DIAL` |
    `static java.lang.String` | `FUNNEL` |
    `static java.lang.String` | `GANTT` |
    `static java.lang.String` | `HIGHLOW` |
    `static java.lang.String` | `HISTOGRAM` |
    `static java.lang.String` | `HOUR` |
    `static java.lang.String` | `LINE` |
    `static java.lang.String` | `MILLISECOND` |
    `static java.lang.String` | `MINUTE` |
    `static java.lang.String` | `MONTH` |
    `static java.lang.String` | `PIE` |
    `static java.lang.String` | `POLAR` |
    `static java.lang.String` | `QUARTER` |
    `static java.lang.String` | `RING` |
    `static java.lang.String` | `SCATTER` |
    `static java.lang.String` | `SECOND` |
    `static java.lang.String` | `STACKED_AREA` |
    `static java.lang.String` | `STACKED_BAR` |
    `static java.lang.String` | `STEP` |
    `static java.lang.String` | `STEP_AREA` |
    `static java.lang.String` | `TIME_SERIES` |
    `static java.lang.String` | `WAFERMAP` |
    `static java.lang.String` | `WATERFALL` |
    `static java.lang.String` | `WEEK` |
    `static java.lang.String` | `WIND` |
    `static java.lang.String` | `YEAR` |

    - ### 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
    --- | ---
    `Chart()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `boolean` | `addEventListener​(java.lang.String evtnm, EventListener<? extends Event> listener)` | Adds an event listener to specified event name for this component.
    `java.lang.Object` | `clone()` | Clones the component.
    `ChartAreaListener` | `getAreaListener()` | Returns the renderer to render each area, or null if the default renderer is used.
    `int` | `getBgAlpha()` | Get the background alpha (transparency, 0 ~ 255, opaque).
    `java.lang.String` | `getBgColor()` | Get the background color of the chart (in string as #RRGGBB).
    `int[]` | `getBgRGB()` | Get the background color in int array (0: red, 1: green, 2:blue).
    `java.lang.String` | `getDateFormat()` | Returns the date format used by date related Chart.
    `ChartEngine` | `getEngine()` | Returns the implementation chart engine.
    `int` | `getFgAlpha()` | Get the foreground alpha (transparency, 0 ~ 255, opaque).
    `int` | `getIntHeight()` | Get the chart int width in pixel; to be used by the derived subclass.
    `int` | `getIntWidth()` | Get the chart int width in pixel; to be used by the derived subclass.
    `java.awt.Font` | `getLegendFont()` | Returns the legend font of this chart.
    `ChartModel` | `getModel()` | Returns the chart model associated with this chart, or null if this chart is not associated with any chart data model.
    `java.lang.String` | `getOrient()` | Get the chart orientation (vertical or horizontal)
    `int` | `getPaneAlpha()` | Get the pane alpha (transparency, 0 ~ 255, opacue).
    `java.lang.String` | `getPaneColor()` | Get the pane color of the chart (in string as #RRGGBB).
    `int[]` | `getPaneRGB()` | Get the pane color in int array (0: red, 1: green, 2:blue).
    `java.lang.String` | `getPeriod()` | Returns the period used in Time Series Chart.
    `java.util.TimeZone` | `getTimeZone()` | Returns the time zone that this Time Series Chart belongs to, or null if the default time zone is used.
    `java.lang.String` | `getTitle()` | Get the chart's title.
    `java.awt.Font` | `getTitleFont()` | Returns the title font of this chart.
    `java.lang.String` | `getType()` | Get the chart's type.
    `java.lang.String` | `getXAxis()` | Get the label in xAxis.
    `java.awt.Font` | `getXAxisFont()` | Returns the label font of x axis of this chart.
    `java.awt.Font` | `getXAxisTickFont()` | Returns the tick number font of x axis of this chart.
    `java.lang.String` | `getYAxis()` | Get the label in yAxis.
    `java.awt.Font` | `getYAxisFont()` | Returns the label font of y axis of this chart.
    `java.awt.Font` | `getYAxisTickFont()` | Returns the tick number font of y axis of this chart.
    `boolean` | `isShowLegend()` | Check whether show the legend of the chart.
    `boolean` | `isShowTooltiptext()` | Check whether show the tooltiptext.
    `boolean` | `isThreeD()` | Whether a 3d chart.
    `protected ChartEngine` | `newChartEngine()` | Instantiates the default chart engine.
    `void` | `onPageAttached​(Page newpage, Page oldpage)` | Default: handles special event listeners.
    `void` | `onPageDetached​(Page page)` | Default: handles special event listeners.
    `void` | `setAreaListener​(java.lang.String clsnm)` | Sets the renderer by use of a class name.
    `void` | `setAreaListener​(ChartAreaListener listener)` | Sets the renderer which is used to render each area.
    `void` | `setBgAlpha​(int alpha)` | Set the background alpha (transparency, 0 ~ 255).
    `void` | `setBgColor​(java.lang.String color)` | Set the background color of the chart.
    `void` | `setDateFormat​(java.lang.String format)` | Sets the date format used by date related Chart.
    `void` | `setEngine​(java.lang.String clsnm)` | Sets the chart engine by use of a class name.
    `void` | `setEngine​(ChartEngine engine)` | Sets the chart engine.
    `void` | `setFgAlpha​(int alpha)` | Set the foreground alpha (transparency, 0 ~ 255).
    `void` | `setHeight​(java.lang.String h)` | Override super class to prepare the int height.
    `void` | `setHflex​(java.lang.String flex)` | Overrides the method in HtmlBasedComponent, not to check using hflex and width at the same time
    `void` | `setLegendFont​(java.awt.Font font)` | Sets the legend font of this chart.
    `void` | `setModel​(java.lang.String clsnm)` | Sets the model by use of a class name.
    `void` | `setModel​(ChartModel model)` | Sets the chart model associated with this chart.
    `void` | `setOrient​(java.lang.String orient)` | Set the chart orientation.
    `void` | `setPaneAlpha​(int alpha)` | Set the pane alpha (transparency, 0 ~ 255).
    `void` | `setPaneColor​(java.lang.String color)` | Set the pane color of the chart.
    `void` | `setPeriod​(java.lang.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` | `setTimeZone​(java.util.TimeZone tzone)` | Sets the time zone that this Time Series Chart belongs to, or null if the default time zone is used.
    `void` | `setTitle​(java.lang.String title)` | Set the chart's title.
    `void` | `setTitleFont​(java.awt.Font font)` | Sets the title font of this chart.
    `void` | `setType​(java.lang.String type)` | Set the chart's type (Chart.PIE, Chart.BAR, Chart.LINE, etc.).
    `void` | `setVflex​(java.lang.String flex)` | Overrides the method in HtmlBasedComponent, not to check using vflex and height at the same time
    `void` | `setWidth​(java.lang.String w)` | Override super class to prepare the int width.
    `void` | `setXAxis​(java.lang.String label)` | Set the label in xAxis.
    `void` | `setXAxisFont​(java.awt.Font axisFont)` | Sets the label font of x axis of this chart.
    `void` | `setXAxisTickFont​(java.awt.Font axisTickFont)` | Sets the tick number font of x axis of this chart.
    `void` | `setYAxis​(java.lang.String label)` | Set the label in yAxis.
    `void` | `setYAxisFont​(java.awt.Font axisFont)` | Sets the label font of y axis of this chart.
    `void` | `setYAxisTickFont​(java.awt.Font axisTickFont)` | Sets the tick number font of y axis of this chart.
    `protected void` | `smartDrawChart()` | 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.zul.Image

      `getContent, getExtraCtrl, getHover, getSrc, renderProperties, setContent, setContent, setHover, setHoverContent, setHoverContent, setSrc`

    - ### Methods inherited from class org.zkoss.zul.impl.XulElement

      `getContext, getCtrlKeys, getPopup, getPropertyAccess, getTooltip, setContext, setContext, setContextAttributes, setCtrlKeys, setPopup, setPopup, setPopupAttributes, setTooltip, setTooltip, setTooltipAttributes`

    - ### 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, setHeight0, setHeightDirectly, setHflex0, setHflexDirectly, setLeft, setLeftDirectly, setRenderdefer, setSclass, 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 Detail

    - #### PIE

          public static final java.lang.String PIE

      See Also:
        Constant Field Values

    - #### FUNNEL

          public static final java.lang.String FUNNEL

      See Also:
        Constant Field Values

    - #### RING

          public static final java.lang.String RING

      See Also:
        Constant Field Values

    - #### BAR

          public static final java.lang.String BAR

      See Also:
        Constant Field Values

    - #### LINE

          public static final java.lang.String LINE

      See Also:
        Constant Field Values

    - #### AREA

          public static final java.lang.String AREA

      See Also:
        Constant Field Values

    - #### STACKED_BAR

          public static final java.lang.String STACKED_BAR

      See Also:
        Constant Field Values

    - #### COMBINATION

          public static final java.lang.String COMBINATION

      See Also:
        Constant Field Values

    - #### STACKED_AREA

          public static final java.lang.String STACKED_AREA

      See Also:
        Constant Field Values

    - #### WATERFALL

          public static final java.lang.String WATERFALL

      See Also:
        Constant Field Values

    - #### POLAR

          public static final java.lang.String POLAR

      See Also:
        Constant Field Values

    - #### SCATTER

          public static final java.lang.String SCATTER

      See Also:
        Constant Field Values

    - #### TIME_SERIES

          public static final java.lang.String TIME_SERIES

      See Also:
        Constant Field Values

    - #### STEP

          public static final java.lang.String STEP

      See Also:
        Constant Field Values

    - #### STEP_AREA

          public static final java.lang.String STEP_AREA

      See Also:
        Constant Field Values

    - #### HISTOGRAM

          public static final java.lang.String HISTOGRAM

      See Also:
        Constant Field Values

    - #### CANDLESTICK

          public static final java.lang.String CANDLESTICK

      See Also:
        Constant Field Values

    - #### HIGHLOW

          public static final java.lang.String HIGHLOW

      See Also:
        Constant Field Values

    - #### BUBBLE

          public static final java.lang.String BUBBLE

      See Also:
        Constant Field Values

    - #### WAFERMAP

          public static final java.lang.String WAFERMAP

      See Also:
        Constant Field Values

    - #### GANTT

          public static final java.lang.String GANTT

      See Also:
        Constant Field Values

    - #### WIND

          public static final java.lang.String WIND

      See Also:
        Constant Field Values

    - #### DIAL

          public static final java.lang.String DIAL

      See Also:
        Constant Field Values

    - #### YEAR

          public static final java.lang.String YEAR

      See Also:
        Constant Field Values

    - #### QUARTER

          public static final java.lang.String QUARTER

      See Also:
        Constant Field Values

    - #### MONTH

          public static final java.lang.String MONTH

      See Also:
        Constant Field Values

    - #### WEEK

          public static final java.lang.String WEEK

      See Also:
        Constant Field Values

    - #### DAY

          public static final java.lang.String DAY

      See Also:
        Constant Field Values

    - #### HOUR

          public static final java.lang.String HOUR

      See Also:
        Constant Field Values

    - #### MINUTE

          public static final java.lang.String MINUTE

      See Also:
        Constant Field Values

    - #### SECOND

          public static final java.lang.String SECOND

      See Also:
        Constant Field Values

    - #### MILLISECOND

          public static final java.lang.String MILLISECOND

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### Chart

          public Chart()

  - ### Method Detail

    - #### setType

          public void setType​(java.lang.String type)

      Set the chart's type (Chart.PIE, Chart.BAR, Chart.LINE, etc.).

      Default: pie.

    - #### getType

          public java.lang.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​(java.lang.String title)

      Set the chart's title.
      Parameters:
        `title` - the chart's title.

    - #### getTitle

          public java.lang.String getTitle()

      Get the chart's title.

    - #### setWidth

          public void setWidth​(java.lang.String w)

      Override super class to prepare the int width.
      Overrides:
        `setWidth` in class `HtmlBasedComponent`
      See Also:
        `HtmlBasedComponent.setWidthDirectly(java.lang.String)`, `AbstractComponent.disableClientUpdate(boolean)`

    - #### setHflex

          public void setHflex​(java.lang.String flex)

      Overrides the method in HtmlBasedComponent, not to check using hflex and width at the same time
      Overrides:
        `setHflex` in class `HtmlBasedComponent`
      Parameters:
        `flex` - horizontal flex hint of this component.
      Since:
        8.0.1
      See Also:
        `HtmlBasedComponent.setVflex(java.lang.String)`, `HtmlBasedComponent.getHflex()`

    - #### getIntWidth

          public int getIntWidth()

      Get the chart int width in pixel; to be used by the derived subclass.

    - #### setHeight

          public void setHeight​(java.lang.String h)

      Override super class to prepare the int height.
      Overrides:
        `setHeight` in class `HtmlBasedComponent`

    - #### setVflex

          public void setVflex​(java.lang.String flex)

      Overrides the method in HtmlBasedComponent, not to check using vflex and height at the same time
      Overrides:
        `setVflex` in class `HtmlBasedComponent`
      Parameters:
        `flex` - the vertical flex hint.
      Since:
        8.0.1
      See Also:
        `HtmlBasedComponent.setHflex(java.lang.String)`, `HtmlBasedComponent.getVflex()`

    - #### getIntHeight

          public int getIntHeight()

      Get the chart int width in pixel; to be used by the derived subclass.

    - #### setXAxis

          public void setXAxis​(java.lang.String label)

      Set the label in xAxis.
      Parameters:
        `label` - label in xAxis.

    - #### getXAxis

          public java.lang.String getXAxis()

      Get the label in xAxis.

    - #### setYAxis

          public void setYAxis​(java.lang.String label)

      Set the label in yAxis.
      Parameters:
        `label` - label in yAxis.

    - #### getYAxis

          public java.lang.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​(java.lang.String color)

      Set the pane color of the chart.
      Parameters:
        `color` - in #RRGGBB format (hexadecimal).

    - #### getPaneColor

          public java.lang.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​(java.lang.String color)

      Set the background color of the chart.
      Parameters:
        `color` - in #RRGGBB format (hexadecimal).

    - #### getBgColor

          public java.lang.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​(java.lang.String orient)

      Set the chart orientation.
      Parameters:
        `orient` - vertical or horizontal (default to vertical)

    - #### getOrient

          public java.lang.String getOrient()

      Get the chart orientation (vertical or horizontal)

    - #### getTimeZone

          public java.util.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​(java.util.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 java.lang.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​(java.lang.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 java.lang.String getDateFormat()

      Returns the date format used by date related Chart.
      Returns:
        the date format used by date related Chart..

    - #### setDateFormat

          public void setDateFormat​(java.lang.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:
        `UiException` - if failed to initialize with the model

    - #### setModel

          public void setModel​(java.lang.String clsnm)
                        throws java.lang.ClassNotFoundException,
                               java.lang.NoSuchMethodException,
                               java.lang.IllegalAccessException,
                               java.lang.InstantiationException,
                               java.lang.reflect.InvocationTargetException

      Sets the model by use of a class name. It creates an instance automatically.
      Throws:
        `java.lang.ClassNotFoundException`
        `java.lang.NoSuchMethodException`
        `java.lang.IllegalAccessException`
        `java.lang.InstantiationException`
        `java.lang.reflect.InvocationTargetException`

    - #### getTitleFont

          public java.awt.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​(java.awt.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 java.awt.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​(java.awt.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 java.awt.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​(java.awt.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 java.awt.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​(java.awt.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 java.awt.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​(java.awt.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 java.awt.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​(java.awt.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 UiException

      Returns the implementation chart engine.
      Throws:
        `UiException` - if failed to load the engine.

    - #### newChartEngine

          protected ChartEngine newChartEngine()
                                        throws 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:
        `UiException` - if failed to instantiate the engine
      Since:
        3.0.0

    - #### setEngine

          public void setEngine​(ChartEngine engine)

      Sets the chart engine.

    - #### setEngine

          public void setEngine​(java.lang.String clsnm)
                         throws java.lang.ClassNotFoundException,
                                java.lang.NoSuchMethodException,
                                java.lang.IllegalAccessException,
                                java.lang.InstantiationException,
                                java.lang.reflect.InvocationTargetException

      Sets the chart engine by use of a class name. It creates an instance automatically.
      Throws:
        `java.lang.ClassNotFoundException`
        `java.lang.NoSuchMethodException`
        `java.lang.IllegalAccessException`
        `java.lang.InstantiationException`
        `java.lang.reflect.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:
        `UiException` - if failed to initialize.

    - #### setAreaListener

          public void setAreaListener​(java.lang.String clsnm)
                               throws java.lang.ClassNotFoundException,
                                      java.lang.NoSuchMethodException,
                                      java.lang.IllegalAccessException,
                                      java.lang.InstantiationException,
                                      java.lang.reflect.InvocationTargetException

      Sets the renderer by use of a class name. It creates an instance automatically.
      Throws:
        `java.lang.ClassNotFoundException`
        `java.lang.NoSuchMethodException`
        `java.lang.IllegalAccessException`
        `java.lang.InstantiationException`
        `java.lang.reflect.InvocationTargetException`

    - #### smartDrawChart

          protected void smartDrawChart()

      mark a draw flag to inform that this Chart needs update.

    - #### addEventListener

          public boolean addEventListener​(java.lang.String evtnm,
                                          EventListener<? extends Event> listener)

      Description copied from interface: `Component`
      Adds an event listener to specified event name for this component. The second registration is ignored and false is returned. The priority is assumed to 0.

      You could register listener to all components in the same page by use of `Page.addEventListener(java.lang.String, org.zkoss.zk.ui.event.EventListener<? extends org.zkoss.zk.ui.event.Event>)`.

      ## Version Difference

      ZK 5.0 and earlier, the second registration is ignored if an event listener has been registered twice. However, since 6.0.0 and later, it won't be ignored. If a listener has been registered multiple times, it will be invoked multiple times.

      If you prefer to ignore the second registration, you could specify a library property called "org.zkoss.zk.ui.EventListener.duplicateIgnored" to true.

      Specified by:
        `addEventListener` in interface `Component`
      Overrides:
        `addEventListener` in class `AbstractComponent`
      Parameters:
        `evtnm` - what event to listen (never null)
      Returns:
        whether the listener is added successfully
      See Also:
        `Page.addEventListener(java.lang.String, org.zkoss.zk.ui.event.EventListener<? extends org.zkoss.zk.ui.event.Event>)`

    - #### clone

          public java.lang.Object clone()

      Description copied from interface: `Component`
      Clones the component. All of its children and descendants are cloned. Also, ID are preserved.
      Specified by:
        `clone` in interface `Component`
      Overrides:
        `clone` in class `XulElement`
      Returns:
        the new component. Notice that it doesn't belong to any page, nor desktop. It doesn't have a parent, either.

    - #### onPageAttached

          public void onPageAttached​(Page newpage,
                                     Page oldpage)

      Description copied from class: `AbstractComponent`
      Default: handles special event listeners.
      Specified by:
        `onPageAttached` in interface `ComponentCtrl`
      Overrides:
        `onPageAttached` in class `AbstractComponent`
      Parameters:
        `newpage` - the new page (never null).
        `oldpage` - the previous page, if any, or null if it didn't belong to any page.
      See Also:
        `ComponentCtrl.onPageAttached(org.zkoss.zk.ui.Page, org.zkoss.zk.ui.Page)`

    - #### onPageDetached

          public void onPageDetached​(Page page)

      Description copied from class: `AbstractComponent`
      Default: handles special event listeners.
      Specified by:
        `onPageDetached` in interface `ComponentCtrl`
      Overrides:
        `onPageDetached` in class `AbstractComponent`
      Parameters:
        `page` - the previous page (never null)
      See Also:
        `ComponentCtrl.onPageDetached(org.zkoss.zk.ui.Page)`