今日來做一下甘特圖。網上搜到了這個源碼,但是導的jar包,並沒有給我。swiftganttdemo
但是名為swiftgantt制作;所以靈機一動在網上搜到了swiftangantt組件;在組件中找到了JAR包。
import java.io.IOException; import java.util.GregorianCalendar; import com.yuxingwang.gantt.model.GanttModel; import com.yuxingwang.gantt.model.Task; import com.yuxingwang.gantt.ui.TimeUnit;
代碼如下:
/** * @author :leleChang * @date :Created in 2020/5/8 18:48 * @description: * @modified By: */ public class Swif { public static <GanttChart> void main(String[] args) throws IOException { //1. 首先初始化一個甘特圖的主類com.yuxingwang.gantt.GanttChart, //是一個繼承自javax.swing.JScrollPanel的Swing的組件,通過它就可以用來顯示甘特圖: com.yuxingwang.gantt.GanttChart gantt = new com.yuxingwang.gantt.GanttChart(); //2. 設置甘特圖的時間刻度的單位,如以星期為單位,則時間軸上的每一刻度代表一個星期: gantt.setTimeUnit(TimeUnit.Day); //3. 配置甘特圖,在這里您可以通過Config類配置您的甘特圖, //您可以設置甘特圖各個元素的顏色,寬度等,詳細配置項請參考API文檔中的Config類的說明。 //Config config = gantt.getConfig(); //config.setWorkingTimeBackColor(Color.red); //4. 創建甘特圖的數據模型GanttModel, //所有的您要顯示的項目任務信息都通過GanttModel來提供給GanttChart對象。 GanttModel model = new GanttModel(); //5. 設置項目開始時間和結束時間: model.setKickoffTime(new GregorianCalendar(2007, 1, 4)); model.setDeadline(new GregorianCalendar(2007, 1, 15)); //6. 創建甘特圖的基本元素:任務對象Task。一個Task對象在甘特圖中表現為一條橫線。 //每個Task對象都可以包含任意多的子Task對象,形成樹狀的任務模型。如果一個Task對象包含子Task, //則自動成為對象組,對象組仍然是Task對象,但是在甘特圖中顯示為不同的形狀。 //如下例,taskGroup就是任務組,包含了兩個子任務,task1和task2: Task taskGroup = new Task("Changlele's Work", new GregorianCalendar(2007, 1, 4), new GregorianCalendar(2007, 1, 15)); Task task1 = new Task("Sub-task 1 java", new GregorianCalendar(2007, 1, 4), new GregorianCalendar(2007, 1, 8)); Task task2 = new Task("Sub-task 2 python", new GregorianCalendar(2007, 1, 8), new GregorianCalendar(2007, 1, 15)); task1.setBackcolor(Color.CYAN); task1.setBackcolor(Color.green); taskGroup.add(new Task[]{task1, task2}); //7. 指定任務之間的依賴關系。如果一項任務需要在另一項任務完成之后才能開始, //那么需要將另一項任務設為此任務的前置任務。: task2.addPredecessor(task1); //8. 將主任務組加入甘特圖的Model中並將model對象傳遞給GanttChart: model.addTask(taskGroup); gantt.setModel(model); //這時GanttChart就可以顯示出甘特圖來了。 System.out.println(gantt); //指定路徑,生成圖片: String filePath = "E:\\gantt.jpg"; gantt.generateImageFile(filePath); //這樣在您指定的路徑就有生成的甘特圖圖片文件了。 } }
代碼大家都有但是我把需要的jar包告訴大家了,別人的博客上都沒看到。
過兩天會把甘特圖變為網頁,融入到微服務框架中,希望大家來評價。