📄 chartdemo.java
字号:
package com.sun.lwuit.uidemo;import com.sun.lwuit.Command;import com.sun.lwuit.Form;import com.sun.lwuit.events.ActionEvent;import com.sun.lwuit.events.ActionListener;import com.java4less.rchart.Chart;import com.java4less.rchart.ChartLoader;import com.java4less.rchart.gc.GraphicsProvider;import com.java4less.rchart.lwuit.ChartViewer;import com.java4less.rchart.util.Formats;import com.sun.lwuit.Display;import com.sun.lwuit.animations.Transition3D;import com.sun.lwuit.geom.Dimension;import com.sun.lwuit.layouts.BorderLayout;import java.util.Date;public class ChartDemo implements ActionListener { public Form form = new Form("J4LChart"); Display display; Command nextExample= new Command("Next"); Command previousExample= new Command("Previous"); ChartViewer chartCanvas; ChartLoader loader; String[] examples={"areaChart.txt","areaCurves.txt","axisOnTop.txt","barChart3D.txt","barChart3D.txt","barChart.txt", "barImages.txt","bubbleChart.txt","candleStick.txt","combined2Positions.txt","combinedChart.txt","event.txt","linechart3D.txt", "linechart.txt","linechartClipping.txt","linechartNULLS.txt","MultiAxis.txt","MultiCharts.txt","patternFilling.txt", "piechart3D.txt","PieDrillDown.txt","radarChart.txt","realtime.txt","scatterChart.txt","stackedBar.txt","StackedMultiAxis.txt", "subpie1.txt","subpie2.txt","subpie3.txt","targetZones.txt"}; int currentExample=0; /* * 初始化Chart,从文本读取chart图结构并显示 */ ChartDemo() { GraphicsProvider.setMode(GraphicsProvider.MODE_LWUIT); form.addCommand(previousExample);//上一个 form.addCommand(nextExample);//下一个 form.setCommandListener(this); chartCanvas=new ChartViewer();//chart视图 chartCanvas.setPreferredSize(new Dimension(200,200));//设置大小 loadChartFromFile("/txt/"+examples[currentExample]);//读取文本,设置chart form.setLayout(new BorderLayout()); form.addComponent(BorderLayout.CENTER,chartCanvas); form.refreshTheme(); } /* * 在读取TXT文件的同时,同时设置Chart里面的数值 */ private void createRealtimedata(ChartLoader loader) { java.util.Date now=java.util.Calendar.getInstance().getTime(); loader.setParameter("XAXIS_INITIAL_DATE",Formats.formatDate(now,"dd/MM/yyyy hh:mm:ss")); // create random data based on the time java.util.Calendar cal=java.util.Calendar.getInstance(); String data1=""; String data2=""; for (int i=0;i<9;i++) { cal.setTime(new Date(cal.getTime().getTime()-2000)); if (data1.length()>0) data1="|" + data1; data1=""+cal.get(java.util.Calendar.SECOND)+ data1; if (data2.length()>0) data2="|" + data2; data2=""+(cal.get(java.util.Calendar.SECOND)/6)+ data2; } loader.setParameter("SERIE_DATA_1",data1); loader.setParameter("SERIE_DATA_2",data2); } /* * 读取TXT文件并设置chart */ public void loadChartFromFile(String filename) { ChartLoader cha=new ChartLoader(); cha.loadFromFile(this.getClass().getResourceAsStream(filename),true);//读取文本 //this.loader=cha; //********设置Chart数值 //createRealtimedata(cha); //********设置Chart数值 Chart c=cha.build(false,false);//建立chart chartCanvas.setChart(c); chartCanvas.getChart().setSize(chartCanvas.getWidth(),chartCanvas.getHeight()); chartCanvas.repaintChart(); form.setTitle(filename); } public void actionPerformed(ActionEvent arg0) { if(arg0.getCommand()==nextExample)//读取上一个chart(TXT文本) { chartCanvas.getChart().stopUpdater(); currentExample++; if(currentExample>=examples.length-1) currentExample=0; form.replace(chartCanvas, chartCanvas,Transition3D.createRotation(500, true)); loadChartFromFile("/txt/"+examples[currentExample]); } else if(arg0.getCommand()==previousExample)//读取下一个chart(TXT文本) { chartCanvas.getChart().stopUpdater(); currentExample--; if(currentExample<=0) currentExample=examples.length-1; form.replace(chartCanvas, chartCanvas,Transition3D.createRotation(500, false)); loadChartFromFile("/txt/"+examples[currentExample]); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -