`
lisonghua2010
  • 浏览: 109454 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

基于easyui开发Web版Activiti流程定制器详解(五)——Draw2d详解(一)

阅读更多

背景:

       小弟工作已有十年有余,期间接触了不少工作流产品,个人比较喜欢的还是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等),这里不在过多的展开查看源代码很容易理解,有问题的话可以给我留言。

 

下一篇着重讲解本定制器如何使用Draw2d进行扩展,敬请期待。。。。。

 

定制器下载地址

http://lisonghua2010.iteye.com/admin/blogs/1490165

 

Activit官方文档地址

http://activiti.org/userguide/index.html

-------------------------------------------------华丽分割线---------------------------------------------------------------------

温馨提示,下面是广告时间(不喜请绕行)

推广一下本人的小店:

http://tianya-zahuopu.taobao.com/

优惠多多,欢迎光临!

  • 大小: 70.7 KB
  • 大小: 34.3 KB
  • 大小: 6 KB
  • 大小: 38.1 KB
分享到:
评论
3 楼 linry2008 2017-04-25  
  
2 楼 rinco 2015-02-26  
谢谢分享,项目中用到Activiti,一直没有找到合适的WEB设计器,看了你的实现,写得不错.
1 楼 ourfirebird 2014-06-01  
定制器无法下载,提示“您没有权限执行这项操作,请检查登录的账号是否正确”!

相关推荐

    easyui实现的Activiti工作流引擎web版流程设计器

    标题中的“easyui实现的Activiti工作流引擎web版流程设计器”揭示了本文将要讨论的重点,即如何利用EasyUI框架来构建一个基于Web的流程设计工具,该工具是基于Activiti工作流引擎的。EasyUI是一个轻量级的JavaScript...

    基于easyui实现的activiti模型设计器

    将Activiti与EasyUI结合,可以创建一个直观、易用的模型设计器,使得业务人员和开发人员能够更便捷地设计和管理业务流程。 在"基于easyui实现的activiti模型设计器"项目中,我们可以深入探讨以下几个关键知识点: ...

    基于draw2d和easyui的流程管理原型

    基于Draw2D和EasyUI的流程管理原型提供了一种可视化的方式来设计和实施这些流程,使得非技术人员也能轻松理解和操作。下面将详细介绍这两个技术以及它们在流程管理中的应用。 首先,Draw2D(二维绘图框架)是一个...

    EasyUI + Draw2D BPM Web 工作流实例

    【EasyUI + Draw2D BPM Web 工作流实例】是一个基于EasyUI框架与Draw2D组件构建的纯Web工作流管理系统。EasyUI是一个轻量级的JavaScript框架,主要用于简化前端开发,提供丰富的UI组件,如表格、下拉菜单、对话框等...

    easyui实现Activiti web 工作流在线编辑器

    标题中的“easyui实现Activiti web 工作流在线编辑器”表明这是一个使用EasyUI框架构建的,专门针对Activiti工作流引擎的Web应用程序。EasyUI是一个基于jQuery的UI库,提供了一系列预先设计的组件,如表格、下拉菜单...

    基于jfinal+easyUI+activiti的Java企业协同平台设计源码

    该项目是一款基于jfinal、easyUI和activiti框架构建的企业级协同平台设计源码。该平台集成了1705个PNG图片、921个GIF动画、404个JavaScript脚本、333个CSS样式、210个Java源代码、153个HTML页面、101个JAR库文件、48...

    activiti-5.14.zip 工作流以及easyui设计器

    这个“activiti-5.14.zip”压缩包包含了Activiti 5.14版本的相关文件,这版Activiti是一个稳定且功能丰富的版本,提供了强大的流程定义和执行能力。 在Activiti中,你可以使用BPMN 2.0标准来设计流程图,这使得流程...

    基于hibernate spring struts shiro activiti easyui框架的物流系统,可做毕业设计

    《基于Hibernate Spring Struts Shiro Activiti EasyUI的物流系统详解》 在信息化时代,物流系统的建设对于企业管理、效率提升至关重要。本项目采用了一系列主流的Java企业级开发框架,包括Hibernate、Spring、...

    jquery+easyui+websql.rar

    在本项目中,"jquery+easyui+websql.rar"是一个包含了使用jQuery、EasyUI框架以及WebSQL(或LocalStorage)技术来实现前端数据管理的压缩包。以下将详细阐述这些技术及其相互配合的方式。 首先,jQuery是一个广泛...

    jQuery+EasyUI开发指南宝典

    6. 实战案例:结合实际应用场景,演示jQuery+EasyUI的完整开发流程。 通过阅读《jQuery+EasyUI开发指南宝典》,开发者可以系统学习这两项技术,提升Web开发技能,轻松构建出功能强大且用户体验优秀的Web应用。而...

    processDesigner easyui web在线流程设计

    ProcessDesigner是一款基于EasyUI的Web在线流程设计工具,它提供了便捷的图形化界面,使得非技术人员也能轻松进行流程建模和管理。本文将深入探讨processDesigner的核心特性和应用场景,以及如何利用它实现高效的...

    基于easyui做的一套管理系统

    EasyUI 是一个基于 jQuery 的 UI 框架,它提供了丰富的组件和易于使用的API,用于快速构建美观且功能强大的Web应用程序。在这个“基于easyui做的一套管理系统”中,我们可以推测开发者利用 EasyUI 的功能创建了一个...

    基于easyui-textbox的颜色选择器及源码

    本文将深入探讨基于EasyUI的TextBox颜色选择器及其源码,帮助开发者理解这一组件的工作原理并实现自定义功能。 EasyUI是一个基于jQuery的轻量级前端框架,它提供了丰富的UI组件,使得开发者可以快速构建出美观、...

    基于Easyui和Thinkphp的php-easyui演示系统设计源码

    本项目基于Easyui和Thinkphp开发,包含296个文件,包括PNG图片、PHP源代码、HTML页面、JavaScript脚本、GIF动画、CSS样式表、TPL模板文件、数据库文件、HTACCESS文件和DAT数据文件。系统实现了基于Easyui和Thinkphp...

    基于EasyUI的仓库管理系统

    《基于EasyUI的仓库管理系统详解》 在当今信息化社会,企业对仓库管理的效率与准确性提出了更高的要求。基于EasyUI的仓库管理系统应运而生,它利用先进的Web技术和易用的用户界面,为企业提供了一种高效、便捷的...

    easyui 开发包很全

    EasyUI 是一个基于 jQuery 的前端框架,它提供了一系列精美的组件和控件,用于快速构建用户界面。这个“easyui 开发包很全”的压缩文件显然包含了完整的EasyUI开发资源,包括各种示例(demo)和相关的开发包,这对于...

    基于easyui的仓库管理系统.

    《基于EasyUI的仓库管理系统详解》 仓库管理系统是企业日常运营中的重要组成部分,它负责管理库存物品的入库、出库、盘点以及库存状态等信息,有效地提升了企业的物流管理效率。在信息化时代,采用基于Web的仓库...

    一套通用的Easyui+asp.net mvc开发框架源码

    而asp.net MVC5是微软开发的一个强大的Web应用框架,基于模型-视图-控制器(MVC)设计模式,用于构建可维护、可扩展的Web应用程序。 【描述】中提到,这套源码适用于SQL2008及以上版本的数据库,意味着它具有与SQL ...

Global site tag (gtag.js) - Google Analytics