package textfield;import java.awt.Frame;
import java.awt.Menu;
import java.awt.MenuBar;
import java.awt.MenuItem;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
public class TextField implements ActionListener{ 
    public static void main(String[] args) {
        new TextField().create();
    }
    public void create(){
        Frame f=new Frame("无痕制作");//显示正常
        Menu m1=new Menu("文件");
        Menu m2=new Menu("编辑");
        Menu m3=new Menu("格式");
        Menu m4=new Menu("帮助");
        MenuBar mb=new MenuBar();
        
        MenuItem mi1=new MenuItem("新建");//显示为方块
        MenuItem mi2=new MenuItem("打开");
        MenuItem mi3=new MenuItem("另存为");
        MenuItem mi4=new MenuItem("保存");
        MenuItem mi5=new MenuItem("退出");
        m1.add(mi1);m1.add(mi2);m1.add(mi3);m1.add(mi4);m1.add(mi5);
        
        mb.add(m1);mb.add(m2);mb.add(m3);mb.add(m4);
        f.setMenuBar(mb);
                
        f.setSize(400, 300);
        f.setLocation(600, 500);
        f.setVisible(true);
        
        
    }    @Override
    public void actionPerformed(ActionEvent e) {
        
    }
}

解决方案 »

  1.   

    这是因为你用的是AWT这种重量级的实现,因为这个缘故带来了编码的问题,GBK本地平台编码和你NetBeansUTF8编码的问题,AWT换为SWING实现就没有问题import java.awt.Frame;
    import java.awt.Menu;
    import java.awt.MenuBar;
    import java.awt.MenuItem;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.WindowAdapter;
    import javax.swing.*;public class TextField implements ActionListener{
      public static void main(String[] args) {
      new TextField().create();
      }
      public void create(){
      JFrame f=new JFrame("无痕制作");//显示正常
      JMenu m1=new JMenu("文件");
      JMenu m2=new JMenu("编辑");
      JMenu m3=new JMenu("格式");
      JMenu m4=new JMenu("帮助");
      JMenuBar mb=new JMenuBar();  JMenuItem mi1=new JMenuItem("新建");//显示为方块
      JMenuItem mi2=new JMenuItem("打开");
      JMenuItem mi3=new JMenuItem("另存为");
      JMenuItem mi4=new JMenuItem("保存");
      JMenuItem mi5=new JMenuItem("退出");
      m1.add(mi1);m1.add(mi2);m1.add(mi3);m1.add(mi4);m1.add(mi5);  mb.add(m1);mb.add(m2);mb.add(m3);mb.add(m4);
    //  f.setMenuBar(mb);
      f.setJMenuBar(mb);  f.setSize(400, 300);
      f.setLocation(600, 500);
      f.setVisible(true);
      }  @Override
      public void actionPerformed(ActionEvent e) {  }
    }
      

  2.   

    哦。有道理。那么,为什么有时候从.txt文件读出乱码,这又该怎么解决?
      

  3.   

    为什么有时候编程从.txt文件输出乱码,这又该怎么解决?
      

  4.   

    你说这个太笼统了,乱码问题原因就很简单,encoding采用字符集和decoding的字符集不一致,但具体怎么一个不一致原因太多了,没法回答你。你可以贴具体的例子,开个帖子跟你说这个帖子的乱码跟txt的具体原因不一样,是AWT组件的问题,txt乱码那个是另外话题了,你觉得十否应该结贴了呢?