当前位置: 代码迷 >> J2SE >> netbeans中自己编写的代码,运行后窗口是中文,但是菜单变成了方块解决方法
  详细解决方案

netbeans中自己编写的代码,运行后窗口是中文,但是菜单变成了方块解决方法

热度:388   发布时间:2016-04-24 18:05:28.0
netbeans中自己编写的代码,运行后窗口是中文,但是菜单变成了方块

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) {
   
  }
}


------解决方案--------------------
这是因为你用的是AWT这种重量级的实现,因为这个缘故带来了编码的问题,GBK本地平台编码和你NetBeansUTF8编码的问题,AWT换为SWING实现就没有问题
Java code
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) {  }}
  相关解决方案