TWiki
>
WebXEO Web
>
XeoPrimerXeoXwc
>
XvwCharts
>
PieChartJava
(revision 1) (raw view)
Edit
Attach
Tags:
tag this topic
create new tag
,
view all tags
-- Main.PedroRio - 26 Mar 2010 ---++ Código Java Associado a um PieChart Os componentes de gráficos XVW possuem propriedades que são alimentadas por uma Bean e algumas das sua propriedades representam invocações de métodos do lado da Bean que têm de devolver objectos Java que implementem determinadas interfaces. No caso do Pie Chart há a necessidade de pelo menos a propriedade __dataSet__ ser preenchida e, opcionalmente, a propriedade __configOptions__. Assumindo uma definição em XML do componente Pie Chart como a seguinte: <verbatim><xvw:pieChart label="Chart Label" dataSet="#{viewBean.dataSet}" width="500" height="400" type="IMG" configOptions="#{viewBean.configOptions}" > </xvw:pieChart></verbatim> A bean a utilizar para um pieChart pode ser algo assim (pode estender a XEO Bean que se entender, não é obrigatório estender a XEOEditBean): <verbatim>public class PieBean extends XEOEditBean { private PieDataSet dataSet; private IPieChartConfiguration configOptions; public PieBean() { super(); this.dataSet = new PieDataSetImpl(); this.configOptions = new IPieChartConfigImpl(); } public PieDataSet dataSet() { return this.dataSet; } public IPieChartConfiguration configOptions() { return this.configOptions; } }</verbatim> A class _PieDataSetImpl_ é uma implementação da interface _PieDataSet_ para este exemplo, assim como a class _IPieChartConfigImpl_ é uma implementação da interface _IPieChartConfiguration_. ---++++ Classe PieDataSetImpl A definição da classe PieDataSetImpl é muito simples e dado que um PieDataSet é essencialmente um conjunto de pares chave/valor. Os valores podem ser guardados num HashMap<String,Integer> e para motivos de exemplo teremos a preferência (em número) das pessoas entre três estações do ano (Verão, Outono e Inverno), onde respectivamente há 190, 200 e 20 pessoas a preferirem. <verbatim>public class PieDataSetImpl implements PieDataSet { private HashMap<String,Integer> dataSet; public PieDataSetImpl() //Cria-se o Mapa e preenche-se com valores { this.dataSet = new HashMap<String, Integer>(); this.dataSet.put("Summer", 190); this.dataSet.put("Fall", 200); this.dataSet.put("Winter", 20); } @Override //Devolve um nome para identificar as categorias public String getCategoryLabel() { return "Seasons"; } @Override public Number getValue(Comparable<String> key) //Vai buscar um valor dado a categoria { return this.dataSet.get(key); } @Override public String getValueLabel() //Devolve um nome para identificar os valores para as categorias { return "Values"; } @Override public List<String> getCategories() //Devolve a lista de categorias, Summer, Fall, Winter { return new Vector<String>(dataSet.keySet()); } }</verbatim> ---++++ Classe IPieChartConfigImpl A classe IPieChartConfigImpl é uma implementação muito simples da interface das configurações apenas para mostrar a utilização da mesma. <verbatim>public class IPieChartConfigImpl implements IPieChartConfiguration { public IPieChartConfigImpl() {} @Override //Determina a cor de fundo do gráfico. public Color getBackgroundColour() { return Color.gray; } @Override //Mapeia as categorias em cores, de tal modo que as fatias da tarte fiquem cada uma com sua cor public HashMap<String, Color> getColours() { HashMap<String, Color> maps = new HashMap<String, Color>(); maps.put("Winter", Color.black); maps.put("Fall", Color.blue); maps.put("Summer", Color.magenta); return maps; } @Override //Se o titulo do gráfico deve ser mostrado ou não public boolean showChartTitle() { return true; } @Override //Se as labels do gráfico devem ser mostradas ou não. public boolean showLabels() { return true; } @Override //Devolve uma expressão que pode é usada para mostrar as tooltips, pode conter variáveis //especiais de forma a mostrar valores (consultar a documentação da interface) public String getTooltipString() { return "$key has value $val which is $percent of total"; } }</verbatim>
Edit
|
Attach
|
P
rint version
|
H
istory
:
r3
<
r2
<
r1
|
B
acklinks
|
V
iew topic
|
Raw edit
|
More topic actions...
Topic revision: r1 - 2010-03-26
-
PedroRio
WebXEO
XEO Primer
-
Instalation
-
Introduction
-
Concepts
-
Architecture
-
XEO Library
-
Deploy to EAR
-
PreferenceStore
XEO - Core
-
XEO Model Reference
-
Security
-
Java API
-
BOL
-
XEOQL (BOQL)
-
Administrating
-
Background Tasks
-
boConfig.xml
-
Web.xml
-
Known Issues
-
XEO Flags
XEO - XWC
- Web Components
- Java Samples
- Custom Components
- Component Plugins
- Internationalization
- Viewer Events
- Value Change Listeners
- XUIServlet
- XeoLocalization
- XvwTemplates
Create New Topic
WebXEO Web
No permission to view
TWiki.WebTopBar
No permission to view
TWiki.WebBottomBar