读书人

netbeans中自己编写的代码运行后窗口

发布时间: 2012-03-11 18:15:39 作者: rapoo

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

读书人网 >J2SE开发

热点推荐