- 论坛徽章:
- 0
|
首先来看Jgraph的默认构造函数。
public JGraph() {
this((GraphModel) null);
}
可以看到,默认构造函数仅仅传递null值,调用了另一个构造函数,让我们来看看这个构造函数。
public JGraph(GraphModel model) {
this(model, (GraphLayoutCache) null);
}
可以看到,这个构造函数也只是调用了另一个构造函数,我们接着往下走。
public JGraph(GraphModel model, GraphLayoutCache cache) {
this(model, cache, new BasicMarqueeHandler());
}
又接着调用了三个参数的构造函数,接着走,
public JGraph(GraphModel model, GraphLayoutCache layoutCache,
BasicMarqueeHandler mh) {
setDoubleBuffered(true);
selectionModel = new DefaultGraphSelectionModel(this);
setLayout(null);
marquee = mh;
if (model == null) {
model = new DefaultGraphModel();
setModel(model);
addSampleData(model);
} else
setModel(model);
if (layoutCache == null)
layoutCache = new GraphLayoutCache(model,
new DefaultCellViewFactory());
setGraphLayoutCache(layoutCache);
updateUI();
}
终于,开始干活了。可以看到,这部分主要调用一些set函数进行一些设置工作。我们感兴趣的是默认构造函数到底做了什么,可以看到,首先通过setDoubleBuffered(true)启用了双缓冲,然后实例化了DefaultGraphSelectionModel,将布局管理器设为null,初始化marquee。然后创建了DefaultGraphModel(),然后调用了addSampleData(model),我们稍候再看这个函数,可以看到会创建layoutCache,并设置GraphLayoutCache。最后调用updateUI()更新UI。
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/33011/showart_257843.html |
|