北方站长站
客服热线:0632-5117766

构建可扩展的Java图表组件

[2005-12-26 00:00:00] 作者:Northz.com 来源:北方站长站

Tags:组件 图表 扩展 构建 int public 一个 坐标 我们 数据

  

实现画折线的LinePlotsts北方站长站
  由于Plot是由DataSeries为它提供绘图数据的,在实现LinePlot之前,先来实现一个DefaultDataSeries类:sts北方站长站
public class DefaultDataSeries extends DataSeriessts北方站长站
{ sts北方站长站
 public DefaultDataSeries(Object[] yData) throws InvalidDataException sts北方站长站
 { sts北方站长站
  super(); sts北方站长站
  if ( yData == null || !(yData[0] instanceof Double) ) sts北方站长站
   throw new InvalidDataException(); sts北方站长站
  for ( int i = 0;i<yData.length;i++ ) sts北方站长站
  { sts北方站长站
   /*将y值添加到序列中*/sts北方站长站
   this.yData.add(yData[i]);sts北方站长站
   /*根据y值的个数,从1开始自动添加相应数量的x值*/ sts北方站长站
   this.xData.add(new Double(i+1)); sts北方站长站
  } sts北方站长站
 }sts北方站长站
}
sts北方站长站
  这个DefaultDataSeries提供了一个构造方法,使用者只需提供一组y坐标值,即可构造一个DataSeries了。sts北方站长站
  下面是很重要的部分了。我们来看看实现一个画折线的LinePlot是多么的简单:sts北方站长站
Public class LinePlot extends Plotsts北方站长站
{ sts北方站长站
 …… sts北方站长站
 public void draw(Graphics g, DataSeries ds, int index) sts北方站长站
 { sts北方站长站
  if ( ds == null ) return; sts北方站长站
  g.setColor(lineColor); sts北方站长站
  double[] x = new double[ds.size()]; sts北方站长站
  double[] y = new double[ds.size()]; sts北方站长站
  int[] xPoints = new int[ds.size()]; sts北方站长站
  int[] yPoints = new int[ds.size()]; sts北方站长站
  for ( int i = 0; i< ds.size(); i++ ) sts北方站长站
  { sts北方站长站
   x[i] = ((Double)ds.getXData(i)).doubleValue();sts北方站长站
   y[i] = ((Double)ds.getYData(i)).doubleValue();sts北方站长站
   /*将ds中的实际值转换成屏幕坐标值*/ sts北方站长站
   xPoints[i] = xAxis.getScale().getScreenCoordinate(x[i]); sts北方站长站
   yPoints[i] = yAxis.getScale().getScreenCoordinate(y[i]); sts北方站长站
  } sts北方站长站
  /*绘制折线*/ sts北方站长站
  g.drawPolyline(xPoints, yPoints, xPoints.length); sts北方站长站
 }sts北方站长站
}
sts北方站长站
  上面可出了LinePlot中绘制折线的代码,我们看到,绘制一个折线是多么的轻松和简单。sts北方站长站

 

News

 

info

 

down

出售手机裁听器,手机跟踪定位系统    企业网站,网城,购物网,都市导购,校园网    网上书店系统    上海电信机房服务器托管,双线主机托管    美女图片馆    15G 高清晰图片资源 无水印    室内装潢材料新产品杰威尔艺术漆    收一万ip的美女图片    大量收购个人网址导航网站    出售网址站PR=4alexa=119,764    

上一页 1 2 3 4 5 6 7 8 9 下一页

下一篇链接:Tapestry组件使用总结

上一篇链接:用XSLT和XML改进Struts

评论】 【打印】 【加入收藏】 【关闭→论坛 →博客 →数据中心

 共有 0 位网友发表了评论 此处只显示部分留言 点击查看完整评论页面