Java甘特图控件swing版免费下载地址

FlexGantt 控件是如今Java 平台下最早进的甘特图解决方案,使用一个很高的抽象层次,能适用于多种不一样的域,例如 ERP 系统、生产计划和日程安排、制造流程系统或项目公文管理程序等。这些使得 FlexGantt 能从其余有局限性的项目计划(资源、人、任务)甘特图库中脱颖而出。算法

               FlexGantt 例子

具体功能:数据库

原文来自http://www.51diaodu.com/pdt/2966服务器

  • 模型视图控制器:
    FlexGantt 听从与 Swing 相同 MVC 方法。许多不一样的模型用于各类各样的用途。一个日历模型跟踪假日和周末。一个页面模型支持使用者加载不一样的计划范围,一个书签模型存储了应用程序和用户自定义书签。然而,首要的模型是甘特图,它为甘特图组件提供数据。它是树状图模型的延伸,所以它能在甘特图的左手边填上数据(左手边是树状图)。它一样返回成为时间线的对象显示在右手边时间线的下方。时间线对象表明活动、工做、事件、重要事件,甚至任何能够放在时间线上的事情,由于它能够被链接到时间点或时间区。下面的图片显示了甘特图模型的结构。架构

  • 分屏/双甘特图:框架

几乎全部计划和调度程序都须要在水平卷动时保持两个不一样模型或同一模型内两个不一样部分的数据一致。FlexGantt 框架包括一个双甘特图能够实现上述目标。用户能够在任什么时候间分割/取消分割甘特图。水平分割线能用于调整上下两部分大小。时间线对象能够从一个拖至另外一个。编辑器

  • 书签:spa

用户日益习惯于书签的概念。FlexGantt 一样支持它们,并且用户可使用它们来快速调整时间线设置,这样一个特定的时间点、间隔和范围会被显示在甘特图上。定义过的书签被列在菜单的导航控件中。当用户点击菜单按钮时,若是控制键被按下,将会显示被标签的时间间隔的小预览图片。线程

  • 层:设计

FlexGantt 使用独特的层方法,该方法因在图片和绘图程序中的使用而闻名。每一个甘特图由两个层集合组成,系统层集合提供核心功能(例如绘制垂直网格线),另外一个层集合绘制时间线对象(活动、事件、重要事件)。下面的图片显示了层栈。程序能够增长任意多的时间线对象层,能够容易地一次完成分组对象、显示/隐藏的功能。层一样支持透明化,所以层叠时间线对象可以容易地被识别。指针

  • 拖放网格:
    时间线对象能够被水平拖动、缩放和垂直拖动。一个可见网格能被拖放操做激活,因此时间线对象能够更容易地被放置在特定时间。网格由策略控制,意味着任何种类的网格均可以被完成。能够设置默认网格策略使得时间线对象能够吸附到从千年、百年、十年、年、月、星期、日以致于毫秒的任什么时候间。

  • 策略控制行为:

调度程序在显示信息、编辑数据、响应用户交互方面有着千差万别。FlexGantt 的策略框架可以根据这些不一样而被用于设定相适应的甘特图。策略是小的决定者,一般不包含不少的代码。它们一样是无状态的。在许多状况下,它们仅仅返回标记(booleans)和命令。标记用做控制程序流,而命令被用做实现实际的数据修改(经过一个包含撤销和恢复的命令栈)。

  • 可插入显示和编辑器:

Swing 定义了许多显示和编辑类用做它的用户界面组件,例如树、表格或列表。FlexGantt 与之相同,定义了树表单元、列头、弹出、日期线模型、时间线对象、事件线对象的显示。时间线对象编辑器在甘特表左手边的透明窗口里显示(见下图)。

  • 弹出/注释:
    时间线下方的栏是显示一个事件的好区域,可是因为空间限制,它只能显示有限的信息。当鼠标指针悬停在这一栏上,显示弹出/注释是一个很好的特性,这样就能显示足够多的信息,提供给计划者用做制订调度决定。FlexGantt 的弹出能够与 Swing 组件同样被自定义。不一样的显示能够被映射到不一样种类的弹出对象。弹出对象由特定的弹出策略导出。下面的图片显示了默认的弹出显示,它显示了序列化形式的弹出对象。

  • 打印:

甘特表显示的计划是一份文档,而任何文档都应该能打印。内建的打印支持使得用户指定须要打印的时间范围和间隔(见下图)。结果表能够被打印成具备多页的宽度和高度。

  • 关系:

时间线对象之间具备某种关系是很广泛的。例如项目计划软件一般在它们之间定义约束。一些约束的例子:“在……以后开始”,“在……以前完成”,“同时开始”,“同时完成”。FlexGantt 经过绘制它们之间的线条来显示关系。每一个程序有本身的显示方式(不一样的约束有不一样的颜色和/或不一样的线风格)。经过插入自定义关系显示,能够实现任何种类的关系显示。

  • 懒载入:
    根据应用程序类型,须要显示的数据量可能十分庞大。在这种状况下,只有使用“懒载入”方法,用户界面才能够迅速和有较快响应。“懒载入”意味着数据只在用户真正须要时,从服务器(或数据库)传到客户端。FlexGantt 从最底层设计支持懒载入。例如:实现树表展开监听界面的对象将在树展开前收到一个事件,这样,父节点的子节点能够被载入。页面模型是另外一个支持懒载入架构的例子。

  • 命令框架:

FlexGantt 提供一个小但强大的命令框架。它被用来支持编辑操做的撤销和恢复。命令框架包含命令、命令栈、命令栈监听器和进度监视器。命令经过甘特表被执行、撤销和恢复,甘特表内部使用一个可置换的命令栈。为了保证用户界面的相应,命令在本身的线程中进行。命令栈事件在命令执行时被提交。进度监视器用来显示命令的进度。子进度监视器用来监视包含其余许多命令的混合命令。一旦一个命令结束执行,它将被加入到命令栈的撤销列表中。当一个命令被执行而没法撤销时,这一列表将被清空。命令框架使用一个高级抽象层次,这一已存在的命令架构(传统代码)能够被重用。

  • 页面:

若是一个调度程序须要处理大量的时间线对象,分割时间线到若干页/时间跨度是有必要的。这一方式将数据分为小块,甘特表能够更加容易地处理。页模型处理单独的页面。能够在当前页、前一页、后一页、首页和尾页查询。用户界面提供一个控件用于选择单独页面。

  • 可变行高:

FlexGantt 图的每行能够有本身的高度。这样特性在树表节点表明不一样类型的对象或一个量与每一个节点相关联是十分有用。在此状况下,行高能够反映这样量(例如一个资源的容量)。

  • 多行排序:

甘特图左手边的树表支持多行排序,意味着用户能够同时选择多个树表列,表中数据将基于此选择排列。 FlexGantt 使用快速排序算法进行排序,支持升/降序排列。

  • 可自定义时间线:

每一个程序有着对时间线的自定义的特殊要求。一些须要在日期旁显示周数,另外一些则须要显示天数(例如“第241天”)。时间线能够灵活设计。它的模型能够被替换,它的显示能够被替换,甚至整个时间线能够被替换为自定义子类。

  • 日历模型:

日历模型提供甘特图中有关周末、假日、或任何特殊时间范围的数据。日历模型的入口显示在整个层容器的高度(右手边)。最显著的使用日历模型的例子是对周末的定义。周末的背景将会以灰色显示。

  • 自动卷动:

若是 FlexGantt 图频繁更新它的“如今时间/系统时间”,有时使程序注意这样时间是有必要的。当自动卷动被激活,如今时间光标(垂直虚线)将提留在层容器的中央,即便时间流逝。当程序具备更多监视功能而不是交互调度功能时,这是一个很是有用的特性。

  • 多线:
    多线特性使得甘特表在同一行上下显示时间对象。这样原可能互相重叠的时间线对象能够正常显示。

  • 下载试用

产品

FlexGantt 试用版  (38 MB)

试用版下载
相关文章
相关标签/搜索