FlexGantt 控件是如今Java 平臺下最早進的甘特圖解決方案,使用一個很高的抽象層次,能適用於多種不一樣的域,例如 ERP 系統、生產計劃和日程安排、製造流程系統或項目公文管理程序等。這些使得 FlexGantt 能從其餘有侷限性的項目計劃(資源、人、任務)甘特圖庫中脫穎而出。 算法
具體功能: 數據庫
幾乎全部計劃和調度程序都須要在水平捲動時保持兩個不一樣模型或同一模型內兩個不一樣部分的數據一致。FlexGantt 框架包括一個雙甘特圖能夠實現上述目標。用戶能夠在任什麼時候間分割/取消分割甘特圖。水平分割線能用於調整上下兩部分大小。時間線對象能夠從一個拖至另外一個。 服務器
用戶日益習慣於書籤的概念。FlexGantt 一樣支持它們,並且用戶可使用它們來快速調整時間線設置,這樣一個特定的時間點、間隔和範圍會被顯示在甘特圖上。定義過的書籤被列在菜單的導航控件中。當用戶點擊菜單按鈕時,若是控制鍵被按下,將會顯示被標籤的時間間隔的小預覽圖片。 架構
FlexGantt 使用獨特的層方法,該方法因在圖片和繪圖程序中的使用而聞名。每一個甘特圖由兩個層集合組成,系統層集合提供核心功能(例如繪製垂直網格線),另外一個層集合繪製時間線對象(活動、事件、重要事件)。下面的圖片顯示了層棧。程序能夠增長任意多的時間線對象層,能夠容易地一次完成分組對象、顯示/隱藏的功能。層一樣支持透明化,所以層疊時間線對象可以容易地被識別。 框架
調度程序在顯示信息、編輯數據、響應用戶交互方面有着千差萬別。FlexGantt 的策略框架可以根據這些不一樣而被用於設定相適應的甘特圖。策略是小的決定者,一般不包含不少的代碼。它們一樣是無狀態的。在許多狀況下,它們僅僅返回標記(booleans)和命令。標記用做控制程序流,而命令被用做實現實際的數據修改(經過一個包含撤銷和恢復的命令棧)。 編輯器
Swing 定義了許多顯示和編輯類用做它的用戶界面組件,例如樹、表格或列表。FlexGantt 與之相同,定義了樹表單元、列頭、彈出、日期線模型、時間線對象、事件線對象的顯示。時間線對象編輯器在甘特表左手邊的透明窗口裏顯示(見下圖)。 spa
甘特表顯示的計劃是一份文檔,而任何文檔都應該能打印。內建的打印支持使得用戶指定須要打印的時間範圍和間隔(見下圖)。結果表能夠被打印成具備多頁的寬度和高度。 線程
時間線對象之間具備某種關係是很廣泛的。例如項目計劃軟件一般在它們之間定義約束。一些約束的例子:「在……以後開始」,「在……以前完成」,「同時開始」,「同時完成」。FlexGantt 經過繪製它們之間的線條來顯示關係。每一個程序有本身的顯示方式(不一樣的約束有不一樣的顏色和/或不一樣的線風格)。經過插入自定義關係顯示,能夠實現任何種類的關係顯示。 設計
FlexGantt 提供一個小但強大的命令框架。它被用來支持編輯操做的撤銷和恢復。命令框架包含命令、命令棧、命令棧監聽器和進度監視器。命令經過甘特表被執行、撤銷和恢復,甘特表內部使用一個可置換的命令棧。爲了保證用戶界面的相應,命令在本身的線程中進行。命令棧事件在命令執行時被提交。進度監視器用來顯示命令的進度。子進度監視器用來監視包含其餘許多命令的混合命令。一旦一個命令結束執行,它將被加入到命令棧的撤銷列表中。當一個命令被執行而沒法撤銷時,這一列表將被清空。命令框架使用一個高級抽象層次,這一已存在的命令架構(傳統代碼)能夠被重用。 指針
若是一個調度程序須要處理大量的時間線對象,分割時間線到若干頁/時間跨度是有必要的。這一方式將數據分爲小塊,甘特表能夠更加容易地處理。頁模型處理單獨的頁面。能夠在當前頁、前一頁、後一頁、首頁和尾頁查詢。用戶界面提供一個控件用於選擇單獨頁面。
FlexGantt 圖的每行能夠有本身的高度。這樣特性在樹表節點表明不一樣類型的對象或一個量與每一個節點相關聯是十分有用。在此狀況下,行高能夠反映這樣量(例如一個資源的容量)。
甘特圖左手邊的樹表支持多行排序,意味着用戶能夠同時選擇多個樹表列,表中數據將基於此選擇排列。 FlexGantt 使用快速排序算法進行排序,支持升/降序排列。
每一個程序有着對時間線的自定義的特殊要求。一些須要在日期旁顯示週數,另外一些則須要顯示天數(例如「第241天」)。時間線能夠靈活設計。它的模型能夠被替換,它的顯示能夠被替換,甚至整個時間線能夠被替換爲自定義子類。
日曆模型提供甘特圖中有關週末、假日、或任何特殊時間範圍的數據。日曆模型的入口顯示在整個層容器的高度(右手邊)。最顯著的使用日曆模型的例子是對週末的定義。週末的背景將會以灰色顯示。
若是 FlexGantt 圖頻繁更新它的「如今時間/系統時間」,有時使程序注意這樣時間是有必要的。當自動捲動被激活,如今時間光標(垂直虛線)將提留在層容器的中央,即便時間流逝。當程序具備更多監視功能而不是交互調度功能時,這是一個很是有用的特性。
產品演示及原文來自http://www.51diaodu.com/pdt/2966 |
|
FlexGantt 試用版 (38 MB) |
試用版下載 |