今日来做一下甘特图。网上搜到了这个源码,但是导的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. xml 文件 和xsd 文件的关系

    XML文件和XSD文件的关系 2010-09-29 15:38 2307人阅读 评论(0) 收藏 举报 xml 1. XSD文件在某个namespace中定义element和type.此处定义的typ ...

  2. 程序员小张的第一篇博文 --记Markdown的使用学习

    1.前言 为了即将到来的面试做准备,以及记录一下平日里自己的学习过程和生活日常,我开始进驻博客园啦!这就是我的第一篇博客(有点小激动)~ 作为一只新手,首先记录一下今晚的编写博文的学习过程吧~ 2.使 ...

  3. 收集免费的接口服务,做一个api的搬运工

    hello, 大家好,今天给大家推荐的开源项目在某种程度上极大的方便了广大的开发者,这个开源项目统计了网上诸多的免费API,为广大开发者收集免费的接口服务,专心致志做一个API的搬运工,每月定时更新新 ...

  4. LCA基础 附例题(落谷)

    https://www.luogu.org/problemnew/solution/P3379 LCA叫做最短公共祖先,用来求距离树上两个节点最近的公共点: 常用倍增算法: #include<i ...

  5. JavaScript思维导图很全(W3C上的!!!!很重要快来看!)

  6. PHP函数:func_num_args

    func_num_args()  - 返回传递给函数的参数数量. 说明: func_num_args ( void ) : int 参数: 无 返回值: 返回传入当前用户定义函数的参数数量. 参考链接 ...

  7. Linux学习笔记(二)文件操作命令

    文件操作命令 touch stat cat more less head tail ln touch 英文原意: change file timestamps 功能: 修改文件的时间戳 语法: tou ...

  8. Springboot:员工管理之删除员工及退出登录(十(9))

    springboot2.2.6 delete请求报错,降至2.1.11功能可用 原因未知 构建员工删除请求 com\springboot\controller\EmployeeController.j ...

  9. python 基础篇 模块化

    在做项目的时候,虽然你不可能把全世界的代码都放到一个文件夹下,但是类似模块化的思想还是要有的--那就是以项目的根目录作为最基本的目录,所有的模块调用,都要通过根目录一层层向下索引的方式来 import ...

  10. 报错:require_once cannot allocate memory----php,以前自己弄的稍微有点特殊的开发环境

    最近出现过一个问题,值得记录 类似于这样的报错的问题: Warning: require_once(/www/app/somecomponent.php): failed to open stream ...