- 浏览: 147384 次
- 性别:
文章分类
最新评论
-
yjp:
效果丢失了,也好不了多少
SWT中使用JFreeChart(无需SWT_AWT) -
vfbrhvfbgd:
LZ,您好,
在网上找到了很多类似你这样的代码,请问您这 ...
一个使用SWT Ribbon代替Eclipse-RCP上面Coolbar的例子~ -
sdyjmc:
我也在看,发现Search不起作用。msn:sdyjmc@16 ...
读jlibrary代码的部分疑问,希望有人解答~ -
alaham:
jlibray研究得如何了呢?权限问题解决了吗?
我目前也正 ...
读jlibrary代码的部分疑问,希望有人解答~ -
bbiao:
你把代码抄错了,范型是不可以这么定义的....
这种模式我也 ...
从Hibernate范型DAO设计打造的自用DAO
SWT中使用JFreechart(例子)
1package com.glnpu.dmp.test;
2
3import java.awt.Color;
4import java.awt.Font;
5import java.awt.Frame;
6import java.util.Calendar;
7import java.util.Date;
8
9import org.eclipse.jface.window.ApplicationWindow;
10import org.eclipse.swt.SWT;
11import org.eclipse.swt.awt.SWT_AWT;
12import org.eclipse.swt.graphics.Point;
13import org.eclipse.swt.widgets.Composite;
14import org.eclipse.swt.widgets.Control;
15import org.eclipse.swt.widgets.Display;
16import org.eclipse.swt.widgets.Shell;
17import org.eclipse.swt.widgets.TabFolder;
18import org.eclipse.swt.widgets.TabItem;
19import org.jfree.chart.ChartFactory;
20import org.jfree.chart.ChartPanel;
21import org.jfree.chart.JFreeChart;
22import org.jfree.chart.plot.PiePlot;
23import org.jfree.chart.title.TextTitle;
24import org.jfree.data.category.IntervalCategoryDataset;
25import org.jfree.data.gantt.Task;
26import org.jfree.data.gantt.TaskSeries;
27import org.jfree.data.gantt.TaskSeriesCollection;
28import org.jfree.data.general.DefaultPieDataset;
29
30public class Test extends ApplicationWindow {
31
32 /** *//**
33 * Create the application window
34 */
35 public Test() {
36 super(null);
37 addToolBar(SWT.FLAT | SWT.WRAP);
38 addMenuBar();
39 addStatusLine();
40 }
41
42 /** *//**
43 * Create contents of the application window
44 *
45 * @param parent
46 */
47 @Override
48 protected Control createContents(Composite parent) {
49 TabFolder tf = new TabFolder(parent, SWT.TOP);
50 TabItem ti = new TabItem(tf, SWT.NULL);
51 ti.setText("分类");
52 Composite composite = new Composite(tf, SWT.NO_BACKGROUND
53 | SWT.EMBEDDED);
54 Frame frame = SWT_AWT.new_Frame(composite);
55 frame.add(new ChartPanel(createBarChart()));
56 ti.setControl(composite);
57 TabItem ti1 = new TabItem(tf, SWT.NULL);
58 ti1.setText("项目组");
59 Composite composite1 = new Composite(tf, SWT.NO_BACKGROUND
60 | SWT.EMBEDDED);
61 Frame frame1 = SWT_AWT.new_Frame(composite1);
62 frame1.add(new ChartPanel(createGanttChart()));
63 ti1.setControl(composite1);
64 tf.setSelection(0);
65 return tf;
66 }
67
68 /** *//**
69 * 方法名称: 内容摘要:
70 *
71 * @return
72 * @return JFreeChart
73 * @throws
74 */
75 private JFreeChart createGanttChart() {
76 String title = "Gantt测试";
77 IntervalCategoryDataset dataset = createSampleDataset();
78
79 JFreeChart jfc = ChartFactory.createGanttChart(title, "项目各阶段详细实施计划",
80 "项目周期", dataset, false, false, false);
81
82 return jfc;
83 }
84
85 /** *//**
86 * 方法名称:
87 * 内容摘要:创建gantt内容
88 *
89 * @return
90 * @return IntervalCategoryDataset
91 * @throws
92 */
93 private IntervalCategoryDataset createSampleDataset() {
94 TaskSeries s1 = new TaskSeries("日程表");
95
96 Task t1 = new Task("项目立项", date(1, Calendar.APRIL, 2001), date(5,
97 Calendar.APRIL, 2001));
98 t1.setPercentComplete(1.00);
99
100 Task t2 = new Task("项目立项讨论", date(6, Calendar.APRIL, 2001), date(19,
101 Calendar.APRIL, 2001));
102
103 s1.add(t1);
104 s1.add(t2);
105
106
107 final Task t3 = new Task(
108 "需求分析",
109 date(10, Calendar.APRIL, 2001), date(5, Calendar.MAY, 2001)
110 );
111 final Task st31 = new Task(
112 "需求1",
113 date(10, Calendar.APRIL, 2001), date(25, Calendar.APRIL, 2001)
114 );
115 st31.setPercentComplete(1.0);
116 final Task st32 = new Task(
117 "需求2",
118 date(1, Calendar.MAY, 2001), date(5, Calendar.MAY, 2001)
119 );
120 st32.setPercentComplete(1.0);
121 t3.addSubtask(st31);
122 t3.addSubtask(st32);
123 s1.add(t3);
124
125
126
127 final TaskSeriesCollection collection = new TaskSeriesCollection();
128 collection.add(s1);
129
130 return collection;
131 }
132
133 /** *//** */
134 /** *//**
135 * Utility method for creating <code>Date</code> objects.
136 *
137 * @param day
138 * 日
139 * @param month
140 * 月
141 * @param year
142 * 年
143 *
144 * @return a date.
145 */
146 private static Date date(final int day, final int month, final int year) {
147
148 final Calendar calendar = Calendar.getInstance();
149 calendar.set(year, month, day);
150
151 final Date result = calendar.getTime();
152 return result;
153
154 }
155
156 /** *//**
157 * 方法名称: 内容摘要:饼图测试
158 *
159 * @return
160 * @return JFreeChart
161 * @throws
162 */
163 private JFreeChart createBarChart() {
164 String title = "空调2002年市场占有率";
165 DefaultPieDataset piedata = new DefaultPieDataset();
166 piedata.setValue("联想", 27.3);
167
2
3import java.awt.Color;
4import java.awt.Font;
5import java.awt.Frame;
6import java.util.Calendar;
7import java.util.Date;
8
9import org.eclipse.jface.window.ApplicationWindow;
10import org.eclipse.swt.SWT;
11import org.eclipse.swt.awt.SWT_AWT;
12import org.eclipse.swt.graphics.Point;
13import org.eclipse.swt.widgets.Composite;
14import org.eclipse.swt.widgets.Control;
15import org.eclipse.swt.widgets.Display;
16import org.eclipse.swt.widgets.Shell;
17import org.eclipse.swt.widgets.TabFolder;
18import org.eclipse.swt.widgets.TabItem;
19import org.jfree.chart.ChartFactory;
20import org.jfree.chart.ChartPanel;
21import org.jfree.chart.JFreeChart;
22import org.jfree.chart.plot.PiePlot;
23import org.jfree.chart.title.TextTitle;
24import org.jfree.data.category.IntervalCategoryDataset;
25import org.jfree.data.gantt.Task;
26import org.jfree.data.gantt.TaskSeries;
27import org.jfree.data.gantt.TaskSeriesCollection;
28import org.jfree.data.general.DefaultPieDataset;
29
30public class Test extends ApplicationWindow {
31
32 /** *//**
33 * Create the application window
34 */
35 public Test() {
36 super(null);
37 addToolBar(SWT.FLAT | SWT.WRAP);
38 addMenuBar();
39 addStatusLine();
40 }
41
42 /** *//**
43 * Create contents of the application window
44 *
45 * @param parent
46 */
47 @Override
48 protected Control createContents(Composite parent) {
49 TabFolder tf = new TabFolder(parent, SWT.TOP);
50 TabItem ti = new TabItem(tf, SWT.NULL);
51 ti.setText("分类");
52 Composite composite = new Composite(tf, SWT.NO_BACKGROUND
53 | SWT.EMBEDDED);
54 Frame frame = SWT_AWT.new_Frame(composite);
55 frame.add(new ChartPanel(createBarChart()));
56 ti.setControl(composite);
57 TabItem ti1 = new TabItem(tf, SWT.NULL);
58 ti1.setText("项目组");
59 Composite composite1 = new Composite(tf, SWT.NO_BACKGROUND
60 | SWT.EMBEDDED);
61 Frame frame1 = SWT_AWT.new_Frame(composite1);
62 frame1.add(new ChartPanel(createGanttChart()));
63 ti1.setControl(composite1);
64 tf.setSelection(0);
65 return tf;
66 }
67
68 /** *//**
69 * 方法名称: 内容摘要:
70 *
71 * @return
72 * @return JFreeChart
73 * @throws
74 */
75 private JFreeChart createGanttChart() {
76 String title = "Gantt测试";
77 IntervalCategoryDataset dataset = createSampleDataset();
78
79 JFreeChart jfc = ChartFactory.createGanttChart(title, "项目各阶段详细实施计划",
80 "项目周期", dataset, false, false, false);
81
82 return jfc;
83 }
84
85 /** *//**
86 * 方法名称:
87 * 内容摘要:创建gantt内容
88 *
89 * @return
90 * @return IntervalCategoryDataset
91 * @throws
92 */
93 private IntervalCategoryDataset createSampleDataset() {
94 TaskSeries s1 = new TaskSeries("日程表");
95
96 Task t1 = new Task("项目立项", date(1, Calendar.APRIL, 2001), date(5,
97 Calendar.APRIL, 2001));
98 t1.setPercentComplete(1.00);
99
100 Task t2 = new Task("项目立项讨论", date(6, Calendar.APRIL, 2001), date(19,
101 Calendar.APRIL, 2001));
102
103 s1.add(t1);
104 s1.add(t2);
105
106
107 final Task t3 = new Task(
108 "需求分析",
109 date(10, Calendar.APRIL, 2001), date(5, Calendar.MAY, 2001)
110 );
111 final Task st31 = new Task(
112 "需求1",
113 date(10, Calendar.APRIL, 2001), date(25, Calendar.APRIL, 2001)
114 );
115 st31.setPercentComplete(1.0);
116 final Task st32 = new Task(
117 "需求2",
118 date(1, Calendar.MAY, 2001), date(5, Calendar.MAY, 2001)
119 );
120 st32.setPercentComplete(1.0);
121 t3.addSubtask(st31);
122 t3.addSubtask(st32);
123 s1.add(t3);
124
125
126
127 final TaskSeriesCollection collection = new TaskSeriesCollection();
128 collection.add(s1);
129
130 return collection;
131 }
132
133 /** *//** */
134 /** *//**
135 * Utility method for creating <code>Date</code> objects.
136 *
137 * @param day
138 * 日
139 * @param month
140 * 月
141 * @param year
142 * 年
143 *
144 * @return a date.
145 */
146 private static Date date(final int day, final int month, final int year) {
147
148 final Calendar calendar = Calendar.getInstance();
149 calendar.set(year, month, day);
150
151 final Date result = calendar.getTime();
152 return result;
153
154 }
155
156 /** *//**
157 * 方法名称: 内容摘要:饼图测试
158 *
159 * @return
160 * @return JFreeChart
161 * @throws
162 */
163 private JFreeChart createBarChart() {
164 String title = "空调2002年市场占有率";
165 DefaultPieDataset piedata = new DefaultPieDataset();
166 piedata.setValue("联想", 27.3);
167
发表评论
-
来自网络上的经典文章收藏帖(不断增加中... ...)
2007-05-15 09:14 1024教你如何使用JFace创建Wizards Creating J ... -
RCP程序怎样实现自适应分辩率最大化(增加版)
2007-05-15 14:02 1300交口称赞在BLOG中提到了一种让RCP最大化的方法: 在App ... -
如何在ViewPart上添加ViewToolBar
2007-05-15 17:58 3780ViewToolBar其实就是Actions。在ViewPar ... -
郁闷的Perspective
2007-05-15 18:11 939下午正式开始RCP开发,于是乎轻车熟路的开始打基础框架。 ... -
读jlibrary代码的部分疑问,希望有人解答~
2007-05-18 10:30 1324昨天在Bolg中贴出来一个很不错的RCP项目http://jl ... -
简单应用Maven2
2007-05-18 13:54 864Maven2对项目的管理确实可以说是无微不至的,而且给出了大量 ... -
介绍一个好站
2007-05-20 10:42 783http://www.krugle.com/代码搜索工具,使用 ... -
Eclipse3.3m7 VS Eclipse3.2.2
2007-05-22 08:37 1082Eclipse3.3m7 VS Eclipse3.2.2没有深 ... -
西安java用户群成立~_~
2007-05-23 15:58 786西安java用户群,感谢dudu,为我们开通团队,所有西安ja ... -
RCP的异常
2007-05-25 12:53 876上次的一篇文章问到为什么TreeViewer没有刷新, ... -
正在规划一个Eclipse上看RSS的Plugin
2007-06-04 08:50 945目前正在规划阶段,初步想法是,实现一个周博通的EclipseP ... -
初识DB4O
2007-06-10 11:15 747DB4O? 新出的OODBMS~取谐音DB fo ... -
如何用WebStart部署RCP应用程序?
2007-06-11 17:19 881上传一份同事写的预研文档:WebStartToRCP.doc ... -
RCP开发者的好去处之ICON系列(持续更新中... ...)
2007-06-11 20:49 872为了找个合适的图片是不是头大的不像样子了?OK,我现在 ... -
庆祝一下~RCP开发者的福音到了!
2007-06-14 22:04 827今天在Eclipse站上学习如何使用Maven2管理Eclip ... -
再次理解Eclipse的类加载机制
2007-06-18 15:13 1069今天在写RCP的基础运行插件的时候,发现一个非常有意思的问题: ... -
插件开发依赖其他插件时一定要注意!
2007-06-19 14:18 2208插件开发依赖其他插件时,我们要在plugin.xml的depe ... -
RCP实践之软件架构
2007-06-19 21:22 681RCP还是新兴的东西,大家都是用它做做小东东,所以在网 ... -
RCP实践之第三方JAR包
2007-06-20 21:43 3189感谢大家对上一篇文章的拍砖,引起的反响不小,目的达到了 ... -
RCP实践之安全模型
2007-06-21 21:52 1062感谢大家最近对本 ...
相关推荐
Java使用SWT JFreeChart控件实现的小游戏.zipJava使用SWT JFreeChart控件实现的小游戏.zipJava使用SWT JFreeChart控件实现的小游戏.zipJava使用SWT JFreeChart控件实现的小游戏.zipJava使用SWT JFreeChart控件实现的...
Jfreechart提供的SWT接口,并不支持滚动条,本资源实现了这个方法
在这个场景中,我们将深入探讨如何在 SWT(Standard Widget Toolkit)和 JSP(JavaServer Pages)环境中使用 JFreeChart 的源代码来生成这些图表。 首先,让我们了解 JFreeChart 的核心功能。JFreeChart 提供了多种...
标题中的 "jFreechart例子及jar" 指的是包含 `jFreeChart` 示例代码和可能的库文件,这对于开发者来说是一个宝贵的学习资源。在这个压缩包中,你可能会找到一个名为 `jfreechart-1.0.13-demo.src` 的文件,这通常...
在jFreeChart中,仪表盘可以用来展示一组相关的图表,通常用于监控系统状态或者关键性能指标。创建仪表盘需要定义各个图表的位置和大小,并将它们组合在一个面板上。通过自定义颜色、标签和数据源,可以创建出具有...
标题“jfreechart经典例子”暗示了我们将深入探讨如何使用JFreeChart库创建各种图表,并通过具体的示例来理解其工作原理。 首先,JFreeChart库是开源的,这意味着它允许开发者自由地使用、修改和分发。它的API设计...
这个例子是关于如何使用JFreeChart来生成图表的一个实例,通过它我们可以深入理解JFreeChart的基本用法和功能。 **一、JFreeChart介绍** JFreeChart库提供了丰富的图表类型,包括折线图、柱状图、饼图、散点图、...
这个名为"word+excel+jfreechart例子"的压缩包提供了三个示例,分别展示了如何使用Java来实现这些功能。下面我们将详细探讨每个方面的知识点。 首先,我们来看Java操作Word的部分。在Java中,可以使用Apache POI库...
jfreechart-swt-1.0.9.jar,jfreechart和SWT相结合的jar包
7. **输出格式**:JFreeChart不仅可以将图表显示在屏幕上,还可以导出为多种格式,如JPEG、PNG、PDF和SVG,方便在报告或网页中使用。 通过深入研究JFreeChart的官方示例,开发者能够熟练掌握如何创建、配置和控制...
通过学习和实践"jfreechart例子"中的示例,你可以更好地掌握JFreeChart的使用,提升数据可视化的专业技能。无论是简单的数据展示还是复杂的交互式图表,JFreeChart都能满足你的需求,让你的项目更加生动直观。
创建的图表可以导出为各种格式,如 PNG、JPEG、SVG 或 PDF,以便在报告、网页或打印中使用。这可以通过 `ChartUtilities.saveChartAsXXX()` 方法实现。 9. **自定义图表** JFreeChart 提供了丰富的 API 用于...
本例子将深入探讨如何在Servlet环境中使用JFreeChart,并将其结果显示在JSP页面上,这对于Web应用中的数据可视化尤其有用。 首先,我们需要理解JFreeChart的工作原理。JFreeChart通过构建图表模型(如...
在本文中,我们将深入探讨如何使用JFreeChart来创建饼状图,并重点讲解如何设置语言以及解决可能出现的乱码问题。 首先,JFreeChart依赖于JCommon库,这是一个提供基础图形和数据处理功能的库。在我们的示例中,...
**JFreeChart简介** JFreeChart是一款开源的Java图表库,它提供了丰富的图表类型..."JFreeChartWebDemo"项目则提供了一个实际的案例,演示了如何在Web环境中有效利用这个库,帮助我们理解并掌握JFreeChart的使用技巧。
在项目中使用JFreeChart,首先需要从官方网站或Maven仓库下载对应的jar包,然后将其添加到项目的类路径中。对于Maven项目,可以在pom.xml文件中添加依赖: ```xml <groupId>org.jfree <artifactId>jfreechart ...
在JavaFX中使用JFreeChart,我们可以通过SwingNode组件将Swing组件(JFreeChart就是基于Swing的)嵌入到JavaFX应用程序中。 步骤一:引入JFreeChart库 要在JavaFX项目中使用JFreeChart,首先需要将其依赖添加到项目...
它完全使用JAVA语言编写,是为applications, applets, servlets 以及JSP等使用所设计。JFreeChart可生成饼图(pie charts)、柱状图(bar charts)、散点图(scatter plots)、时序图(time series)、甘特图(Gantt...