WINDOWS下开发的java程序运行于FC6的中文问题
时间:2007-04-05 来源:hsm427
最近利用Swing组件,在window2k开发了个java服务端程序,其中字体采用的是windows特有的宋体simsun,在windows下运行正常,但移到fc6(redhat linux)下却显示界面字体为"方框"无法正常可见.
运行环境:jdk1.5以上,其中swing组件有jtextarea,jlable,jbutton,还有个可滚选项面板jscrollpane(记不太清楚)(是放jtextarea的,目的是让文本域可带滚动)等.
解决方法:
1) 先在linux系统的文件夹/usr/share/fonts/chinese/TrueType/中,添加window下对应的字体库simsun.ttc文件并将其改后缀为.ttf即可,还可在桌面环境下通过系统字体设置将添加进的字体修改为当前使用的;
2) 这个时候再运行java程序,可以看到大部分的中文界面了,但是对于jtextarea中的中文字体仍然是"方框",无法正常显示, 这个时候就是在linux中安装的jdk运行jvm环境对swing中文不太好了,这个可以对jdk进行操作,先到安装的%JAVA_HOME%/jre/lib/fonts/中新建文件夹fallback,再复制对应中文字体库simsun.ttf进来,这样简单的就完成操作.
这个时候再运行java程序的话就一切正常了,看到运行程序的中文字体就是亲切呀:)
附注:
参考了很多网络上文章,最终通过自己实践得到了以上解决方法,当然还有其他更简单的做法,比如直接将复制到linux系统字体库的字体做个链接到jdk中新建文件夹内也可以.限于自己水平有限,暂且如此解决.对于各个linux发行版本不同,而做法也有一定区别,这个还要在实际使用过程去加以解决了.
运行环境:jdk1.5以上,其中swing组件有jtextarea,jlable,jbutton,还有个可滚选项面板jscrollpane(记不太清楚)(是放jtextarea的,目的是让文本域可带滚动)等.
解决方法:
1) 先在linux系统的文件夹/usr/share/fonts/chinese/TrueType/中,添加window下对应的字体库simsun.ttc文件并将其改后缀为.ttf即可,还可在桌面环境下通过系统字体设置将添加进的字体修改为当前使用的;
2) 这个时候再运行java程序,可以看到大部分的中文界面了,但是对于jtextarea中的中文字体仍然是"方框",无法正常显示, 这个时候就是在linux中安装的jdk运行jvm环境对swing中文不太好了,这个可以对jdk进行操作,先到安装的%JAVA_HOME%/jre/lib/fonts/中新建文件夹fallback,再复制对应中文字体库simsun.ttf进来,这样简单的就完成操作.
这个时候再运行java程序的话就一切正常了,看到运行程序的中文字体就是亲切呀:)
附注:
参考了很多网络上文章,最终通过自己实践得到了以上解决方法,当然还有其他更简单的做法,比如直接将复制到linux系统字体库的字体做个链接到jdk中新建文件夹内也可以.限于自己水平有限,暂且如此解决.对于各个linux发行版本不同,而做法也有一定区别,这个还要在实际使用过程去加以解决了.
相关阅读 更多 +