智能家居网站开发,教资报名网站设置,公司黄页是什么东西,在线查询企业#xfeff;#xfeff;背景#xff1a; 小弟工作已有十年有余#xff0c;期间接触了不少工作流产品#xff0c;个人比较喜欢的还是JBPM#xff0c;因为出自名门Jboss所以备受推崇#xff0c;但是现在JBPM版本已经与自己当年使用的版本#xff08;3.X#xff09;大相径…背景 小弟工作已有十年有余期间接触了不少工作流产品个人比较喜欢的还是JBPM因为出自名门Jboss所以备受推崇但是现在JBPM版本已经与自己当年使用的版本3.X大相径庭想升级也不太容易后来得知JBPM的老大转战到了Activiti处于对JBPM的喜欢所以研究了一下Activiti发现Activiti不但保留下JBPM优秀的DNA而且还进行了优化相比之前JBPM设计更简单更清晰更容易掌握。 三年前Activiti开始进入公司的正式项目中并且表现非常良好但是它的Web版的定制器无法满足我们的需求可能是由于当初Activiti刚发布不久这方面的成型的产品比较少所以没有找到合适的替代产品那该怎么办呢经过一番的思想斗争小弟决定先自己做一个Demo如果可行则自己研发。 经过研究其他工作流引擎的定制器小弟发现找到一个能够支持多浏览器的绘图脚本库很关键所以开始在网上疯狂的寻找俗话说黄天不负有心人最后终于发现一个新大陆——Draw2d但是接下来一个问题来了这个脚本库是收费的怎么办谁叫咱们是做JAVA出身的呢对免费的开源的情有独钟后来在网上找到早期的版本是免费的下载下来研究一番发现功能基本够用哈哈哈。。。。搞定 好了罗嗦的这么多就是想引出本篇的主人公——Draw2d至于它有多牛可以访问官网了解一下不过现在都是收费的而且比早期的版本功能强大很多。 下面进入正题详细讲解一下Draw2d讲解之前请注意以下内容都是基于Draw2d早期版本而且都是本人通过研读代码获得由于收费所以没有文档只能靠自己如果与现在版本有出入或者理解错误的地方请指正。 Draw2d类图 以上是Draw2d中各种组件如窗口、对话框、菜单、图形、线的起点和终点、注释等等类图这些组件在绘图时经常用到其中带颜色的类是本设计器使用的组件后面的章节会着重介绍。 以上是Draw2d中连接线类图设计器中的连接线就是Connection扩展而来一个Connection实例一般由三个部分组成Color、ConnectionDecorator和ConnectionRouter。
Color定义连接线的颜色RGB
ConnectionRouter定义连接线是折线还是曲线等
ConnectionDecorator定义连接线是否有箭头
后面会重点介绍这里不在赘述。 以上是Draw2d中画布类图绘图时在画布上添加图形上面提到的类的实例即可实现相应图形的绘制。Draw2d中已经内置了WorkFlow类型的画布这为定制器的开发带来了很大的方便。 这幅图是Draw2d中指令类图Draw2d中使用了Command模式响应事件处理方便实现自定义工具栏功能按钮如设置颜色、设置文本功能等等。 除了以上类图中展示的类Draw2d中还有很多静态工具方法和工具类如XML解析、序列化/反序列化、ArrayList、String等这里不在过多的展开查看源代码很容易理解有问题的话可以给我留言。