博文
深入探究JFreeChart(2008-12-24 11:53:00)
摘要:1 简介
JFreeChart 是 SourceForge.net 上的一个开源项目,它的源码和 API 都可以免费获得。 JFreeChart 的功能非常强大,可以实现饼图 ( 二维和三维 ) , 柱状图 ( 水平 , 垂直 ), 线图 , 点图 , 时序图 , 甘特图 , 股票行情图 , 混和图 , 温度计图 , 刻度图等常用商用图表, 图形可以导出成 PNG 和 JPEG 格式,同时还可以与 PDF 和 EXCEL 关联,支持对图形的放大、缩小,支持常见图形的 3D 显示。
2 图形 对象的处理
2 .1 JFreeChart对象
JFreeChart 可以生成很多图形对象,它的工厂类提供了 33 个工厂方法用于生成不同的图形对象(具体的工厂方法可以参见 JFreeChart 的 API 手册或者源码中的 ChartFactory 类 )。 JFreechart 对图形对象的抽象具体化。图形对象( JFreeChart ),由 Title( 主标题 ) , SubTitle (子标题 ) , Plot (图形的绘制结构)等几个主要对象组成。各个组成部分如下图所示:
这是一个 JFreeChart 对象,上面的“ chart 标题”是 Title 对象,中间区域是 Plot 对象(包括绘图区域和坐标轴区域),下面的区域是 LegendTitle 对象,是一种 SubTitle 对象。
每个 JFreeChart 对象只能有 1 个 Title 对象, 1 个 Plot 对象,可以有多个 SubTitle 对象。 JFreeChart 对象可以进行的操作有:背景的设置(背景颜色、背景图片、透明度等)、边框的设置(是否可见、笔画、 Paint 等)、渲染方式的设置、标题对象的设置、子标题对象的增删查操作。(本文中的所有操作都不提供代码级的介绍,可参见 API......
可运行的JAR包(2008-10-12 16:55:00)
摘要:
首先我来介绍一下如何打一个可运行的JAR包方法如下:
这里说的运行是指用 命令: java -jar *.jar 来运行jar包中的java程序
第一步:我们只有一个Hello源文件,内容如下:
public class Hello
{
public static void main(String[] args)
{
System.out.println("Hello");
}
}
第二步:把它编译成class文件 ,这个大家应该都会,呵呵
命令如下,在cmd提示符下输入:
javac Hello.java
这样,就生成了一个Hello.class文件
第三步(重点):编辑一个清单文件a.txt,内容如下:
Manifest-Version: 1.0
Created-By: 1.5.0_05 (Sun Microsystems Inc.)
Main-Class: Hello
重点说明:
1.清单文件的文件名起什么都行,扩展名写什么都行,扩展名不写也行,不分大小写。就叫a.txt吧
2.Manifest-Version:后有一个空格,一定要有,我试了近百次了,没有不行。
3.Created-By:后有一个空格。
4.Main-Class:不分大小写。后有一个空格。
第四步(重点啊):
Hello.class和a.txt两个重要文件,都在d:\abc\目录下
在cmd中执行(d:\abc\目录下):jar cvfm rr.jar a.txt Hello.class
OK了,包打完了,运行一下试试
在cmd中执行 java -jar rr.jar
结果:Hello 呵呵,这就OK了
重点说明:
1.rr.jar文件名自己起,扩展名一定要是jar
2.要想打包多个文件,这就样jar cvfm rr.jar a.txt Hello.class a.class 或jar cvfm rr.jar a.txt ×
如果.class文件在包中,情况如下:
第一步:
我们只有一个Hello源文件,内容如下:
package org;//这是多了org包
publ......
java读取与写入Excel文件(2008-10-12 16:54:00)
摘要:在这里我引用了以韩国人写的包jxl.jar
将下载后的文件解包,得到jxl.jar,放入classpath,安装就完成了。
基本操作
一、创建文件
拟生成一个名为“测试数据.xls”的Excel文件,其中第一个工作表被命名为“第一页”,大致效果如下:
代码(CreateXLS.java):
//生成Excel的类
import java.io.*;
import jxl.*;
import jxl.write.*;
public class CreateXLS
{
public static void main(String args[])
{
try
{
//打开文件
WritableWorkbook book=
Workbook.createWorkbook(new File(“测试.xls”));
//生成名为“第一页”的工作表,参数0表示这是第一页
WritableSheet sheet=book.createSheet(“第一页”,0);
//在Label对象的构造子中指名单元格位置是第一列第一行(0,0)
//以及单元格内容为test
Label label=new Label(0,0,”test”);
//将定义好的单元格添加到工作表中
sheet.addCell(label);
/*生成一个保存数字的单元格
必须使用Number的完整包路径,否则有语法歧义
单元格位置是第二列,第一行,值为789.123*/
jxl.write.Number number = new jxl.write.Number(1,0,789.123);
sheet.addCell(number);
//写入数据并关闭文件
book.write();
book.close();
}catch(Exception e)
{
System.out.println(e);
}
}
}
编译执行后,会在当前位置产生一个Excel文件。
三、读取文件
以刚才我们创建的Excel文件为例,做一个简单的读取操作,程序代码如下:
//读取Excel的类
import java.io.*;
imp......