今日来做一下甘特图。网上搜到了这个源码,但是导的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包告诉大家了,别人的博客上都没看到。

过两天会把甘特图变为网页,融入到微服务框架中,希望大家来评价。

java制作甘特图的更多相关文章

  1. java实现甘特图的2种方法:SwiftGantt和Jfree (转)

    http://blog.sina.com.cn/s/blog_50a7c4a601009817.html 第一种方法使用SwiftGantt实现甘特图(进度图推荐这个)   import java.a ...

  2. excel具有制作甘特图的功能

    1.Excel最大功能:数据处理.统计分析. 2.数据有效性验证: 长数字输入方法,文本前面加英文"'"(单引号)或使用文本转换. 身份证号:数据.数据有效性.文本长度. 性别:数 ...

  3. [转]用Excel制作甘特图并管理项目

    对于比较简单的项目管理,或绘制甘特图,选用电子表格工具——比如价格高也最强大的Excel.开源的OpenOffice.免费的WPS——可能比项目管理软件更方便. 1. XL-Easy Gantt 模板 ...

  4. gantt甘特图的制作过程

    甘特图主要是用来做项目管理的,可以清楚的看到任务间的逻辑关系,任务与时间关系和任务间并行关系. 在甘特图中,横轴方向表示时间,纵轴方向并列着活动列表.图表内可以用线条.数字.文字代号等来表示计划(实际 ...

  5. vue项目使用Echarts制作项目工期甘特图

    目录 1,前言 2,布局和数据部分 3,制作甘特图 1,前言 项目迭代过程中,碰上一个需求,要求用甘特图的方式显示项目的工期进度,开完会我赶紧搜索一下甘特图是啥东东,大概了解之后,做出了如下样式 Ec ...

  6. 使用Excel 2007绘制甘特图

    本文将教大家如何使用Excel 2007制作甘特图.Excel并未提供甘特图类型,但还是可以绘制甘特图的,方法就是通过对堆积条形图类型进行自定义,使之显示任务.任务工期和层次结构. 下面的过程可帮助创 ...

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

    FlexGantt 控件是现在Java 平台下最先进的甘特图解决方案,使用一个很高的抽象层次,能适用于多种不同的域,例如 ERP 系统.生产计划和日程安排.制造流程系统或项目公文管理程序等.这些使得 ...

  8. java处理jqueryGantt甘特图数据的task.depends依赖规则方法

    前端采用jqueryGantt,github地址为:https://github.com/robicch/jQueryGantt 原以为后端只需要简单地保存甘特图任务列表和返回任务列表就行了. 但功能 ...

  9. vue 甘特图简单制作

    甘特图(Gantt chart)又称为横道图.条状图(Bar chart).其通过条状图来显示项目,进度,和其他时间相关的系统进展的内在关系随着时间进展的情况.以提出者亨利·L·甘特(Henrry L ...

随机推荐

  1. Docker-CentOS系统安装Docker

    上一节,我们介绍了安装虚拟机及操作系统,本文再详细描述安装docker的命令. 前提条件 虚拟机系统:CentOS,并且虚拟机能连通外网. 另外,虚拟机最好配置上阿里的镜像源,点此链接,进入cento ...

  2. 8. react 常用组件

    griddle-react react-bootstrap react-cropper core-js Material UI superagent restful-error-es6 browser ...

  3. 反向icmp_shell

    前言 很老的一个技术了,学习下. ICMP协议工作方式简介 Internet控制报文协议(ICMP)是Internet协议族中一个.它被用于包括路由器在内的网络设备中,用来发送错误报文和操作信息,表示 ...

  4. jmeter事务控制器

    jmeter事务控制器常用于压力测试时如果一个功能包括多个请求时,需要测试这个功能的压力情况,则需要把多个请求放到一个事务控制器里面

  5. python之pymysql库连接mysql实现增、删、改、查

    安装第三方库pymysql 命令行cmd下通过pip install pymysql进行安装,安装完成后自行pip list可查看对应的版本信息 建立连接 1 #导入pymysql库 2 import ...

  6. Springboot:员工管理之查询员工列表(十(6))

    构建员工controller com\springboot\controller\EmployeeController.java package com.springboot.controller; ...

  7. redis: 乐观锁(十)

    监视:watch 正常业务(单线程): 127.0.0.1:6379> set money 100 #模拟存款100元 OK 127.0.0.1:6379> set moneyout 0 ...

  8. 总结vscode调试vue,nodejs的各种方法

    之前写项目一直都是console.log()来调试的,浪费了很多时间,现在整理一下用vscode对nuxt(vue)前后端进行调试的方法 前端的调试 chrome+launch 使用chrome调试, ...

  9. Spark RDD----pyspark第四次作业

    1.pyspark交互式编程 查看群里发的“data01.txt”数据集,该数据集包含了某大学计算机系的成绩,数据格式如下所示: Tom,DataBase,80 Tom,Algorithm,50 To ...

  10. php 通过 yield 实现协程有什么使用场景

    来源:https://segmentfault.com/q/1010000010018151 参考:https://www.cnblogs.com/lynxcat/p/7954456.html 协程可 ...