JFreeChart最佳实践:仪表盘

最近由于项目需要,需要在网页中生成甘特图,在网上浏览资料之后,最后通过JFreeChart实现了仪表盘。

代码如下:

 
  1. DefaultValueDatasetdata=newDefaultValueDataset(32.0);
  2. MeterPlotplot=newMeterPlot(data);
  3. plot.setDialShape(DialShape.CHORD);
  4. plot.setDialBackgroundPaint(Color.WHITE);
  5. plot.setRange(newRange(0,120));
  6. plot.setDialOutlinePaint(Color.GRAY);
  7. plot.setNeedlePaint(Color.BLACK);
  8. plot.setTickLabelsVisible(true);
  9. plot.setTickLabelPaint(Color.BLACK);
  10. plot.setTickPaint(Color.GRAY);
  11. plot.setTickLabelFormat(NumberFormat.getNumberInstance());
  12. plot.setTickSize(10);
  13. plot.setValuePaint(Color.BLACK);
  14. plot.addInterval(newMeterInterval("Low",newRange(0,70),null,null,newColor(128,255,128,90)));
  15. plot.addInterval(newMeterInterval("Normal",newRange(70,100),null,null,newColor(255,255,128,90)));
  16. plot.addInterval(newMeterInterval("High",newRange(100,120),null,null,newColor(255,128,128,90)));
  17. //创建chart,最后一个参数决定是否显示图例
  18. finalJFreeChartchart=newJFreeChart("MeterChart",JFreeChart.DEFAULT_TITLE_FONT,plot,false);
  19. //放到SWT的Composite里,以前介绍过这个方法
  20. Compositedrawarea=newComposite(tabFolder,SWT.EMBEDDED);
  21. drawarea.setLayout(newFillLayout());
  22. FramecanvasFrame=SWT_AWT.new_Frame(drawarea);
  23. java.awt.Canvascanvas=newjava.awt.Canvas(){
  24. publicvoidpaint(Graphicsg){
  25. super.paint(g);
  26. if(chart!=null)
  27. chart.draw((Graphics2D)g,getBounds());
  28. }
  29. };
  30. TabItemtab=newTabItem(tabFolder,SWT.NONE);
  31. tab.setControl(drawarea);
  32. tab.setText("Meter");
  33. canvasFrame.add(canvas);

效果图:

原文链接:http://www.cnblogs.com/bjzhanghao/archive/2007/03/13/673303.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值