`
izuoyan
  • 浏览: 9221800 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

LWUIT + J4LChart 之 多种Chart

阅读更多
本文来自http://blog.csdn.net/hellogv/


本文例子代码,可以到这里下载:http://download.csdn.net/source/886261
Lwuit就不必介绍了,至于J4LChart,就不得不介绍一下了。。。。。。J4LChart,提供了完整的Chart图表,从饼、线、柱等都一网打尽,并且其使用也比较简单,Chart的式样可以从TXT文本中读取,当然,也可以在代码里修改啦,不过,用TXT文件读取,可以做成模板那样,想换就换。。。。。。
下面就贴出J4LChart的使用代码,也好简单的:
  1. packagecom.sun.lwuit.uidemo;
  2. importcom.sun.lwuit.Command;
  3. importcom.sun.lwuit.Form;
  4. importcom.sun.lwuit.events.ActionEvent;
  5. importcom.sun.lwuit.events.ActionListener;
  6. importcom.java4less.rchart.Chart;
  7. importcom.java4less.rchart.ChartLoader;
  8. importcom.java4less.rchart.gc.GraphicsProvider;
  9. importcom.java4less.rchart.lwuit.ChartViewer;
  10. importcom.java4less.rchart.util.Formats;
  11. importcom.sun.lwuit.Display;
  12. importcom.sun.lwuit.animations.Transition3D;
  13. importcom.sun.lwuit.geom.Dimension;
  14. importcom.sun.lwuit.layouts.BorderLayout;
  15. importjava.util.Date;


  16. publicclassChartDemoimplementsActionListener{
  17. publicFormform=newForm("J4LChart");
  18. Displaydisplay;
  19. CommandnextExample=newCommand("Next");
  20. CommandpreviousExample=newCommand("Previous");
  21. ChartViewerchartCanvas;
  22. ChartLoaderloader;

  23. String[]examples={"areaChart.txt","areaCurves.txt","axisOnTop.txt","barChart3D.txt","barChart3D.txt","barChart.txt",
  24. "barImages.txt","bubbleChart.txt","candleStick.txt","combined2Positions.txt","combinedChart.txt","event.txt","linechart3D.txt",
  25. "linechart.txt","linechartClipping.txt","linechartNULLS.txt","MultiAxis.txt","MultiCharts.txt","patternFilling.txt",
  26. "piechart3D.txt","PieDrillDown.txt","radarChart.txt","realtime.txt","scatterChart.txt","stackedBar.txt","StackedMultiAxis.txt",
  27. "subpie1.txt","subpie2.txt","subpie3.txt","targetZones.txt"};

  28. intcurrentExample=0;

  29. /*
  30. *初始化Chart,从文本读取chart图结构并显示
  31. */
  32. ChartDemo()
  33. {
  34. GraphicsProvider.setMode(GraphicsProvider.MODE_LWUIT);

  35. form.addCommand(previousExample);//上一个
  36. form.addCommand(nextExample);//下一个

  37. form.setCommandListener(this);
  38. chartCanvas=newChartViewer();//chart视图
  39. chartCanvas.setPreferredSize(newDimension(200,200));//设置大小
  40. loadChartFromFile("/txt/"+examples[currentExample]);//读取文本,设置chart
  41. form.setLayout(newBorderLayout());
  42. form.addComponent(BorderLayout.CENTER,chartCanvas);
  43. form.refreshTheme();
  44. }

  45. /*
  46. *在读取TXT文件的同时,同时设置Chart里面的数值
  47. */
  48. privatevoidcreateRealtimedata(ChartLoaderloader){

  49. java.util.Datenow=java.util.Calendar.getInstance().getTime();
  50. loader.setParameter("XAXIS_INITIAL_DATE",Formats.formatDate(now,"dd/MM/yyyyhh:mm:ss"));
  51. //createrandomdatabasedonthetime
  52. java.util.Calendarcal=java.util.Calendar.getInstance();
  53. Stringdata1="";
  54. Stringdata2="";
  55. for(inti=0;i<9;i++){
  56. cal.setTime(newDate(cal.getTime().getTime()-2000));
  57. if(data1.length()>0)data1="|"+data1;
  58. data1=""+cal.get(java.util.Calendar.SECOND)+data1;
  59. if(data2.length()>0)data2="|"+data2;
  60. data2=""+(cal.get(java.util.Calendar.SECOND)/6)+data2;
  61. }

  62. loader.setParameter("SERIE_DATA_1",data1);
  63. loader.setParameter("SERIE_DATA_2",data2);

  64. }
  65. /*
  66. *读取TXT文件并设置chart
  67. */
  68. publicvoidloadChartFromFile(Stringfilename){
  69. ChartLoadercha=newChartLoader();
  70. cha.loadFromFile(this.getClass().getResourceAsStream(filename),true);//读取文本
  71. //this.loader=cha;
  72. //********设置Chart数值
  73. //createRealtimedata(cha);
  74. //********设置Chart数值
  75. Chartc=cha.build(false,false);//建立chart
  76. chartCanvas.setChart(c);
  77. chartCanvas.getChart().setSize(chartCanvas.getWidth(),chartCanvas.getHeight());
  78. chartCanvas.repaintChart();
  79. form.setTitle(filename);
  80. }

  81. publicvoidactionPerformed(ActionEventarg0){
  82. if(arg0.getCommand()==nextExample)//读取上一个chart(TXT文本)
  83. {
  84. chartCanvas.getChart().stopUpdater();
  85. currentExample++;
  86. if(currentExample>=examples.length-1)
  87. currentExample=0;
  88. form.replace(chartCanvas,chartCanvas,Transition3D.createRotation(500,true));
  89. loadChartFromFile("/txt/"+examples[currentExample]);
  90. }
  91. elseif(arg0.getCommand()==previousExample)//读取下一个chart(TXT文本)
  92. {
  93. chartCanvas.getChart().stopUpdater();
  94. currentExample--;
  95. if(currentExample<=0)
  96. currentExample=examples.length-1;
  97. form.replace(chartCanvas,chartCanvas,Transition3D.createRotation(500,false));
  98. loadChartFromFile("/txt/"+examples[currentExample]);

  99. }
  100. }
  101. }


分享到:
评论

相关推荐

    LWUIT_J4LChart

    J4LChart 支持多种图表类型,包括: 1. **柱状图**(Bar Chart):适合显示各类统计数据,通过垂直或水平的柱子来表示数据的大小。 2. **饼图**(Pie Chart):通过扇形区域的大小来展示数据的比例关系,易于理解各...

    J2ME的MVC模式+J4ME使用Demo

    在J2ME中,视图通常由LWUIT(Lightweight User Interface Toolkit)或J4ME等UI框架创建的组件构成,如按钮、文本框等。视图不直接修改模型,而是通过控制器来更新模型。 3. **控制器(Controller)**: 控制器作为...

    j2me lwuit 1.4 源码+示例

    《深入解析J2ME LWUIT 1.4:源码与实战示例》 J2ME(Java 2 Micro Edition)是Java平台的一个子集,主要用于嵌入式设备和移动设备,如手机、智能家电等。LWUIT(Lightweight User Interface Toolkit)是J2ME中的一...

    最新LWUIT_1_5

    4. **资源管理**:LWUIT包含一个资源管理器,用于处理图像、音频、视频等媒体资源,优化内存使用,提高性能。 5. **国际化与本地化**:LWUIT支持多语言和文化环境,方便开发者构建适用于全球市场的应用。 6. **...

    LWUIT.jar LWUIT.jar

    LWUIT.jarLWUIT.jarLWUIT.jarLWUIT.jarLWUIT.jarLWUIT.jar

    Lwuit入门程序测试一下Demo

    5. **跨平台**:由于LWUIT是基于Java的,所以它具备跨平台特性,可以在多种Java支持的设备上运行。 **LWUIT入门步骤:** 1. **导入LWUIT库**:首先,你需要将LWuit.jar库文件添加到你的项目类路径中,这样才能使用...

    J2ME+UI框架LWUIT开发手册

    4. **设备适配**:考虑到J2ME跨平台的特性,LWUIT提供了自动适配不同设备屏幕尺寸和分辨率的能力,确保应用在各种设备上都能良好显示。 5. **事件处理**:LWUIT的事件模型基于Java AWT和Swing,易于理解和使用,...

    lwuit实例 lwuit j2me 界面

    4. **动画与特效**:LWUIT内置了丰富的动画效果,如淡入淡出、滑动、旋转等,可以增强用户体验。 5. **布局管理**:LWUIT支持多种布局,如流式布局、网格布局、绝对布局等,方便构建复杂界面。 6. **资源管理**:...

    J2ME LWUIT 之九宫图

    标题“J2ME LWUIT 之九宫图”指的是使用LWUIT库在J2ME平台上实现一个类似于iPhone上的九宫格布局的界面。九宫图通常是一种常见的布局方式,用于展示多个相互关联的小模块或应用图标,用户可以通过点击这些图标来启动...

    LWUIT1.3code.rar_LWUIT

    1. **组件丰富**:LWUIT 提供了多种预定义的UI组件,如按钮、标签、列表、表单、进度条等,这些组件在外观和功能上都经过精心设计,可以满足开发者创建复杂界面的需求。 2. **主题定制**:LWUIT 强调可定制性,允许...

    LWUIT_3_1英文原版.part1

    LWUIT类似Swing 的MVC架构, 支持多种布局(Layouts), 皮肤更换, 字体, 触摸屏, 动画效果, Rich控件, 3D集成, Painter, 模式对画框, I18N/L10N等。  Sun在2008年的JavaOne会议上向开发者社区推荐了LWUIT,展示了...

    lwuit_demo_src.rar_DEMO_J2ME lwuit de_LWUIT_lwuit demo

    这个"lwuit_demo_src.rar_DEMO_J2ME lwuit de_LWUIT_lwuit demo"压缩包包含的是LWUIT库的示例源代码,对于学习和理解LWUIT的使用方法非常有帮助。 LWUIT的主要目标是提供一套轻量级的UI组件,使得开发者能够在资源...

    LWUIT

    5. **布局管理器**:LWUIT 内置了多种布局管理器,如网格布局、流式布局等,帮助开发者合理安排组件的位置和大小,适应不同屏幕尺寸的设备。 6. **动画与过渡效果**:LWUIT 允许开发者添加平滑的动画效果,如淡入...

    Hello LWUIT——LWUIT开发指南1

    LWUIT支持多种设备和操作系统,包括J2ME、Symbian、Blackberry等,这使得开发者可以编写一次代码,运行在多个平台上。 在"Hello LWUIT"的示例中,我们将学习如何创建一个简单的LWUIT应用程序。这个示例通常从创建一...

    LWUIT,j2me教程

    4. **字体支持**:LWUIT支持多种字体格式,开发者可以根据需求加载自定义字体,增强应用的视觉表现力。 5. **触摸屏操作**:随着移动设备的发展,触摸屏已成为主流。LWUIT提供了对触摸屏的良好支持,使得开发者能够...

    javameUI库lwuit源码

    4. **动画支持**:LWUIT 引入了动画效果,使得界面上的元素可以进行平滑的过渡和动态显示,增强了用户体验。 5. **事件处理**:LWUIT 提供了简单的事件监听机制,使得开发者可以方便地处理用户交互事件。 6. **...

    lwuit 1.2.1lwuit 最新

    The Lightweight UI Toolkit (LWUIT) 是一个轻量级JavaME UI工具包...LWUIT类似Swing 的MVC架构, 支持多种布局(Layouts), 皮肤更换, 字体, 触摸屏, 动画效果, Rich控件, 3D集成, Painter, 模式对画框, I18N/L10N等。

    lwuit.rar_LWUIT_java 项目_手机动态

    - **组件丰富**:LWUIT 提供了多种预定义的UI组件,如按钮、列表、表格、滑块等,以及自定义组件的能力,使开发者可以构建复杂的界面布局。 - **动画支持**:LWUIT 强调动态效果,可以轻松实现过渡动画、触摸反馈...

    lwuit-blackberry上移植的版本

    Lwuit在blackberry上的移植版本,使用subversion签下来的,我把这个从lwuit-incubator中提取出来的,里面有DOC和源码,不过它把4.2-4.7版本放在一起了,应用的时候需要根据自己项目实际进行裁剪和修改。

    lwuit 开发文档

    LWUIT(Lightweight UI Toolkit)是为移动设备提供的一个轻量级用户界面工具包,广泛应用于Java ME(Java Platform, Micro Edition)开发中。LWUIT开发文档是指导开发者如何利用LWUIT进行应用程序开发的官方指南或...

Global site tag (gtag.js) - Google Analytics