上次做的例子非常非常简单,可以算是没有连接的GEF最简单的了吧:P
现在我要在上一个例子的基础上做点修改,让它稍微有点意思.
代码下载
最后的样子如下:
主要是增加了一个model叫Node,可以自由地增加到Column对象中.
UML图如下:
下面讲讲主要思路,还是按部就班,一个一个来:
1.model
除了增加一个简单的POJO对象Node,我们必须修改Column对象:
以下是在Column代码中增加的部分:
Column.java
private
List children
=
new
ArrayList();
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
public
List getChildren()
{
return children;
}
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
public
void
setChildren(List children)
{
this.children = children;
}
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
public
void
addChild(Node node)
{
addChild(node, -1);
}
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
public
void
removeChild(Node node)
{
children.remove(node);
现在我要在上一个例子的基础上做点修改,让它稍微有点意思.
代码下载
最后的样子如下:
![](https://p-blog.csdn.net/images/p_blog_csdn_net/starshus/geftest3overview.gif)
主要是增加了一个model叫Node,可以自由地增加到Column对象中.
UML图如下:
![](https://p-blog.csdn.net/images/p_blog_csdn_net/starshus/geftest3uml.gif)
下面讲讲主要思路,还是按部就班,一个一个来:
1.model
除了增加一个简单的POJO对象Node,我们必须修改Column对象:
以下是在Column代码中增加的部分:
Column.java
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/0196c3df5ea9e936f21e9932cca91014.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/0196c3df5ea9e936f21e9932cca91014.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/0196c3df5ea9e936f21e9932cca91014.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)