JDK是1.5.0_12版本;
安装到了/opt下面,
出现SWING不支持中文的问题,按照wiki(http://wiki.ubuntu.org.cn/index.php?tit ... iant=zh-cn)上的提示:
拷贝了windows下的黑体:simhei.ttf 文件到fallback目录下;其它方法
在java安装目录,如/opt/jdk1.5.0_11/jre/lib/fonts下,建立文件夹fallback,并拷贝一个中文字体进去,java就支持中文了,如在安装netbeans的时候,就不会出现乱码,而是显示中文了。
使用中发现,有些地方还是不能显示中文,比如:
在jPanel上用Graphics对象的drawString()方法时,还是不能正常显示中文,显示为方块!
ex:
graphics.drawString("娃哈哈",100,100);
这个代码运行出来的结果就是无法把中文draw出来!
但是,其他swing的一些方法,比如:
jframe.setTitle("刘德华");
这个运行出来就可以正确显示中文!
不知道是怎么回事,在windows下面一切正常,哈哈!
望各位大虾指点迷津 ^_^
-----------------------------------------------------
最后,附上我的一个小的测试程序,大家可以跑一跑:
代码: 全选
import javax.swing.*;
import java.awt.*;
public class NotHelloWorld
{
public static void main(String[] args)
{
NotHelloWorldFrame frame = new NotHelloWorldFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
class NotHelloWorldFrame extends JFrame
{
public NotHelloWorldFrame()
{
setTitle("刘德华");
setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
NotHelloWorldPanel panel = new NotHelloWorldPanel();
add(panel);
}
public static final int DEFAULT_WIDTH = 300;
public static final int DEFAULT_HEIGHT = 200;
}
class NotHelloWorldPanel extends JPanel
{
public void paintComponent(Graphics g)
{
super.paintComponent(g);
g.drawString("孙燕姿", MESSAGE_X, MESSAGE_Y);
}
public static final int MESSAGE_X = 75;
public static final int MESSAGE_Y = 100;
}