这个是程序运行的截图
我是在Ubuntu11.04终端下运行的,在eclipse下运行也一样
下面是源码,我感觉不是代码的问题import java.awt.*;
import java.awt.event.*;public class RmbConvert extends Frame
{
       public RmbConvert()
       {
              initComponent();//面板初始化
       }
       private void initComponent()
       {
              setTitle("人民币大写转换");
              setSize(345,216);
              
              setLayout(new GridLayout(3,1));//设置为Grid布局
              Panel panel1=new Panel();
              panel1.setBackground(Color.ORANGE);
              Panel panel2=new Panel();
              panel2.setBackground(Color.ORANGE);
              Panel panel3=new Panel();
              panel3.setBackground(Color.ORANGE);              Label label1=new Label("原始金额");
              label1.setFont(new Font("黑体",1,30));
              TextField text1=new TextField(20);
              panel1.add(label1);
              panel1.add(text1);
              
              Label label2=new Label("大写金额");
              label2.setFont(new Font("黑体",1,30));
              TextField text2=new TextField(20);
              panel2.add(text2);
              panel2.add(label2);
       
              Button bt=new Button("确认转换");
              panel3.add(bt);              add(panel1);
              add(panel2);
              add(panel3);
       }
       public static void main(String[] args)
       {
              new RmbConvert().setVisible(true);
       }
}

解决方案 »

  1.   

    是ubuntu的原因,在windows下没乱码~
      

  2.   

    不是 ubuntu的问题。
    6u26 + ubuntu 8.04 一切正常。P.S. 这个是 AWT,不是Swing。
      

  3.   

    在eclipse看看这个源码文件是utf8编码么
      

  4.   

    那是平台环境不一样  没事的跑到windows上面就变好了
      

  5.   

    主要问题是java自带的字体中没有中文字体,而且它也不会去调用linux下的的字体,所以导致中文字体显示不出来,复制一个中文字体到jdk目录下的fonts文件夹就行了!