易客

Explore JAVA

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  4 随笔 :: 1 文章 :: 52 评论 :: 0 Trackbacks

2008年5月18日 #

The Java Tutorials对想用JAVA语言开发应用程序的程序员来说是一本非常实用的手册。它包含了上百个完整可运行的实例和很多教程。许多相关的教程也被编入了手册中。


目前SUN的最近更新在2009-5-27
download
posted @ 2009-07-15 07:48 y6cn 阅读(317) | 评论 (0)编辑 收藏

如果使用JfreeChart默认的声明方式创建出来的图表图片上中文标题是方框或乱码,这个不用说肯定和字体有关.接下来来看一下解决办法.

打开doc文件里的TextTitle类你会发现
 
/** The default font. */
 
public static final Font DEFAULT_FONT = new Font("SansSerif", Font.BOLD,12);


JFreeChart里最后将你创建的实例传给了另一个类的方法:currentTheme.apply(chart);

找到theme的顶级类StandardChartTheme你会发现这个apply()方法,
public void apply(JFreeChart chart) {
            
if (chart == null) {
                
throw new IllegalArgumentException("Null 'chart' argument.");
            }
            TextTitle title 
= chart.getTitle();
            
if (title != null) {
                title.setFont(
this.extraLargeFont);  //------------在这里它将标题的字体设置成了事先定义好的字体,如下两段代码;
                title.setPaint(this.titlePaint);
            }


123        private Font extraLargeFont;


294        public StandardChartTheme(String name) {
295            if (name == null) {
296                throw new IllegalArgumentException("Null 'name' argument.");
297            }
298            this.name = name;
299            this.extraLargeFont = new Font("Tahoma", Font.BOLD, 20); //在构造函数里将此字体设置成了"Tahoma"

现在我们已经很清楚不能正确显示中文的原因了,如何来解决呢?
很简单:

JFreeChart chart=ChartFactory.createPieChart(titleString,pieDataset,true,true,false);
        chart.getTitle().setFont(
new Font("宋体", Font.BOLD,12));

我们只要重新设置TextTitle的字体就行了.
不过这种方法只适用于中文操作系统,因为已经有中文字体了.要想在非中文系统上用怕是要在程序中带上一个中文字体库,然后再调用该字库.
posted @ 2009-02-23 14:17 y6cn 阅读(3189) | 评论 (2)编辑 收藏

这两天在为一个项目制作jar包时出了一些问题,不过好在解决了。下面谈一下过程:
问题:
用Eclipse导出jar后,运行时弹出了个错误警告:
could not find the main class.program will exit

很奇怪为什么以前打包都可以为什么现在不行了?

解决:
在网上找了一点资料,讲得都有点模糊,后来看到一篇文章说用rar打开看一下里边的class-path,我打开后看一下是正常的,但是就是执行时出错。
于是找了一个可以运行的看了一下,结果发现可以运行的里边有编译后的class文件,出错的里边没有包含进class文件!
在这之前我也发现生成的jar文件只有几k,我还纳闷怎么这么大个项目生成的jar那么小?
于是我又把导出界面看了一下:

以前选的是第一种方式,我怀疑是不是没有把一些目录或文件包含进去,于是选了第二种方式导出所有选定的目录项,
结果再次运行成功!查看一下jar内容,class文件已经包含进去。
至此问题解决。
这种方法可能只适合我遇到的这个问题,对于其它问题不一定会凑效,不过不妨试一下。^_^
posted @ 2008-05-18 13:26 y6cn 阅读(4929) | 评论 (4)编辑 收藏