org.zkoss.zul
Class Chart

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

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:
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
 
Field Summary
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
CE_BUSY_IGNORE, CE_DUPLICATE_IGNORE, CE_IMPORTANT, CE_NON_DEFERRABLE, CE_REPEAT_IGNORE
 
Constructor Summary
Chart()
           
 
Method Summary
 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 setAreaListener(ChartAreaListener listener)
          Sets the renderer which is used to render each area.
 void setAreaListener(java.lang.String clsnm)
          Sets the renderer by use of a class name.
 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(ChartEngine engine)
          Sets the chart engine.
 void setEngine(java.lang.String clsnm)
          Sets the chart engine by use of a class name.
 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 setLegendFont(java.awt.Font font)
          Sets the legend font of this chart.
 void setModel(ChartModel model)
          Sets the chart model associated with this chart.
 void setModel(java.lang.String clsnm)
          Sets the model by use of a class name.
 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 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
getAlign, getBorder, getContent, getExtraCtrl, getHover, getHspace, getSrc, getVspace, renderProperties, setAlign, setBorder, setContent, setContent, setHover, setHoverContent, setHoverContent, setHspace, setSrc, setVspace
 
Methods inherited from class org.zkoss.zul.impl.XulElement
getContext, getCtrlKeys, getPopup, getTooltip, setContext, setContext, setCtrlKeys, setPopup, setPopup, setTooltip, setTooltip
 
Methods inherited from class org.zkoss.zk.ui.HtmlBasedComponent
focus, getAction, getDraggable, getDroppable, getHeight, getHflex, getLeft, getRenderdefer, getSclass, getStyle, getTooltiptext, getTop, getVflex, getWidth, getZclass, getZindex, getZIndex, service, setAction, setClass, setDraggable, setDroppable, setFocus, setHeightDirectly, setHflex, setHflexDirectly, setLeft, setLeftDirectly, setRenderdefer, setSclass, setStyle, setTooltiptext, setTop, setTopDirectly, setVflex, setWidthDirectly, setZclass, setZindex, setZIndex, setZIndexDirectly
 
Methods inherited from class org.zkoss.zk.ui.AbstractComponent
addAnnotation, addAnnotation, addClientEvent, addEventHandler, addEventListener, addForward, addForward, addForward, addForward, addMoved, addScopeListener, addSharedEventHandlerMap, appendChild, applyProperties, beforeChildRemoved, beforeParentChanged, detach, didActivate, didActivate, didDeserialize, didDeserialize, disableClientUpdate, equals, getAnnotatedProperties, getAnnotatedPropertiesBy, getAnnotation, getAnnotation, getAnnotations, getAnnotations, getAnnotations, getAttribute, getAttribute, getAttribute, getAttributeOrFellow, getAttributes, getAttributes, getAuService, getAutag, getChildren, getClientEvents, getDefaultMold, getDefinition, getDesktop, getEventHandler, getEventHandlerNames, getEventListenerMap, getEventListeners, getFellow, getFellow, getFellowIfAny, getFellowIfAny, getFellows, getFirstChild, getId, getLastChild, getListenerIterator, getMold, getNextSibling, getPage, getParent, getPreviousSibling, getRoot, getSpaceOwner, getStubonly, getTemplate, getTemplateNames, getUuid, getWidgetAttribute, getWidgetAttributeNames, getWidgetClass, getWidgetListener, getWidgetListenerNames, getWidgetOverride, getWidgetOverrideNames, hasAttribute, hasAttribute, hasAttribute, hasAttributeOrFellow, hasFellow, hasFellow, insertBefore, invalidate, isInvalidated, isListenerAvailable, isVisible, onChildAdded, onChildRemoved, onPageAttached, onPageDetached, onWrongValue, query, queryAll, redraw, redrawChildren, removeAttribute, removeAttribute, removeAttribute, removeChild, removeEventListener, removeForward, removeForward, removeScopeListener, render, render, render, replace, response, response, response, service, sessionDidActivate, sessionWillPassivate, setAttribute, setAttribute, setAttribute, setAuService, setAutag, setDefinition, setDefinition, setId, setMold, setPage, setPageBefore, setParent, setStubonly, setStubonly, setTemplate, setVisible, setVisibleDirectly, setWidgetAttribute, setWidgetClass, setWidgetListener, setWidgetOverride, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdateWidgetListener, smartUpdateWidgetOverride, toString, updateByClient, willPassivate, willPassivate, willSerialize, willSerialize
 
Methods inherited from class java.lang.Object
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)

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

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

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

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

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).

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)

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.


Copyright © 2005-2011 Potix Corporation. All Rights Reserved. SourceForge.net Logo