Java中使用Draw2D和SWT绘图

http://tech.ddvip.com   2007年07月23日    社区交流

内容摘要:您的选择被限定在了 AWT 或 Swing 上。为了最大限度地减少对第三方工具箱的依赖,或者为了简化绘图基础,可以考虑使用 Draw2D,并编写自己的代码来制图或绘图。

  第 20 行对应于上述的步骤 f。

  清单 4. plot() 函数

1. public void plot(){
2.   //if no place to plot, or no data to plot, return.
3.   if(null==_parent || null==_seriesData)
4.     return;
5.
6.   Composite composite = new Composite(_parent, SWT.BORDER);
7.   composite.setLayout(new FillLayout());
8.   FigureCanvas canvas = new FigureCanvas(composite);
9.   
10.   Panel contents = new Panel();//A Panel is a general purpose container figure
11.   contents.setLayoutManager(new XYLayout());
12.   initializeSpan(contents.getClientArea());
13.   
14.   populateNodesAndEdges();   
15.   
16.   drawAxis(contents);
17.   for(int i=0; i<_numSeries; i++){
18.   drawDotsAndConnections(contents,getDirectedGraph(i)); // 
draw points & connecting wires
19.   }
20.   canvas.setContents(contents);
21. }

  plot() 调用了两个重要内部函数来帮助绘制图形中的点:populateNodesAndEdges() 和 drawDotsAndConnections()。在您发现这两个函数到底完成什么功能之前,让我们来看一下 DirectedGraph。

  DirectedGraph 是什么?为了使用 Draw2D 进行绘图,事实上您必须先创建一个图形,定义将要绘制的点和线。一旦创建好这个图形,就可以使用它实际在画布上进行绘图。您可以将 DirectedGraph 形象化为拥有有限数量的 Node 的一个 2-D 图形,在该图形中,每个 Node 都位于一些 Point 上,相邻的 Node 是通过 Edges 连接在一起的。

责编:豆豆技术应用

正在加载评论...