java制作甘特图
今日来做一下甘特图。网上搜到了这个源码,但是导的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制作甘特图的更多相关文章
- java实现甘特图的2种方法:SwiftGantt和Jfree (转)
http://blog.sina.com.cn/s/blog_50a7c4a601009817.html 第一种方法使用SwiftGantt实现甘特图(进度图推荐这个) import java.a ...
- excel具有制作甘特图的功能
1.Excel最大功能:数据处理.统计分析. 2.数据有效性验证: 长数字输入方法,文本前面加英文"'"(单引号)或使用文本转换. 身份证号:数据.数据有效性.文本长度. 性别:数 ...
- [转]用Excel制作甘特图并管理项目
对于比较简单的项目管理,或绘制甘特图,选用电子表格工具——比如价格高也最强大的Excel.开源的OpenOffice.免费的WPS——可能比项目管理软件更方便. 1. XL-Easy Gantt 模板 ...
- gantt甘特图的制作过程
甘特图主要是用来做项目管理的,可以清楚的看到任务间的逻辑关系,任务与时间关系和任务间并行关系. 在甘特图中,横轴方向表示时间,纵轴方向并列着活动列表.图表内可以用线条.数字.文字代号等来表示计划(实际 ...
- vue项目使用Echarts制作项目工期甘特图
目录 1,前言 2,布局和数据部分 3,制作甘特图 1,前言 项目迭代过程中,碰上一个需求,要求用甘特图的方式显示项目的工期进度,开完会我赶紧搜索一下甘特图是啥东东,大概了解之后,做出了如下样式 Ec ...
- 使用Excel 2007绘制甘特图
本文将教大家如何使用Excel 2007制作甘特图.Excel并未提供甘特图类型,但还是可以绘制甘特图的,方法就是通过对堆积条形图类型进行自定义,使之显示任务.任务工期和层次结构. 下面的过程可帮助创 ...
- Java甘特图控件swing版免费下载地址
FlexGantt 控件是现在Java 平台下最先进的甘特图解决方案,使用一个很高的抽象层次,能适用于多种不同的域,例如 ERP 系统.生产计划和日程安排.制造流程系统或项目公文管理程序等.这些使得 ...
- java处理jqueryGantt甘特图数据的task.depends依赖规则方法
前端采用jqueryGantt,github地址为:https://github.com/robicch/jQueryGantt 原以为后端只需要简单地保存甘特图任务列表和返回任务列表就行了. 但功能 ...
- vue 甘特图简单制作
甘特图(Gantt chart)又称为横道图.条状图(Bar chart).其通过条状图来显示项目,进度,和其他时间相关的系统进展的内在关系随着时间进展的情况.以提出者亨利·L·甘特(Henrry L ...
随机推荐
- N皇后问题 回溯非递归算法 C++实现2
运行结果 代码如下 #include <bits/stdc++.h> using namespace std; ; const char *LINE32 = "--------- ...
- ASE课程总结 by 林建平
设想和目标 1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 我们的辅助用户在阅读英文文献时记忆生词,提高用户的生词量,减少用户的阅读障碍.定义非常清晰,要有查 ...
- Xshell 设置右键粘贴即是复制
打开工具->选项->键盘和鼠标面板 1.鼠标部分的右击设置"粘贴剪切板的内容". 2.选择部分,在"自动将所选文本复制到剪切板"前打勾
- 详解 NIO流
在观看本篇博文前,建议先观看本人博文 -- <详解 IO流> NIO流: 首先,本人来介绍下什么是NIO流: 概述: Java NIO ( New IO )是从 Java 1.4 版本开始 ...
- atom跨平台超好用的markdown实时预览
https://atom.io/ sublime有预览markdown的插件,但仅限于每次在浏览器中预览,想要找一个能够实时在软件中预览的,终于发现了atom. 很多功能以插件的形式安装,theme也 ...
- AI-web-1靶机过关记录
靶机地址:172.16.1.195 Kali地址:172.16.1.107 1.信息收集 端口扫描: 目录扫描: 发现robots.txt敏感文件,查看 存在/m3diNf0/,/se3reTdir7 ...
- mysql 更改默认字符集
mysql 默认字符集概述 首先,MySQL的字符集问题主要是两个概念: haracter Sets Collations 前者是字符内容及编码,后者是对前者进行比较操作的一些规则.这两个参数集可以在 ...
- C#多线程(14):任务基础②
目录 判断任务状态 再说父子任务 组合任务/延续任务 复杂的延续任务 并行(异步)处理任务 并行(同步)处理任务 并行任务的 Task.WhenAny 并行任务状态 循环中值变化问题 定时任务 Tas ...
- 8、Flink Table API & Flink Sql API
一.概述 上图是flink的分层模型,Table API 和 SQL 处于最顶端,是 Flink 提供的高级 API 操作.Flink SQL 是 Flink 实时计算为简化计算模型,降低用户使用实时 ...
- 必应每日图片api
https://cn.bing.com/HPImageArchive.aspx?format=xml&cc=jp&idx=0&n=1 format = 'xml' | 'j ...