日期:2014-05-20  浏览次数:20863 次

大家看一下这个代码为什么不能显示菜单呢?求解...
import javax.swing.*;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
import static javax.swing.JFrame.*;
 class WindowMenu extends JFrame{
JMenuBar menubar;
JMenu menu,subMenu;
JMenuItem item1,item2;
//public WindowMenu();
public WindowMenu(){
//init(s);
setLocation(300,300);
setSize(300,300);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
void init(String s){
setTitle(s);
menubar=new JMenuBar();
menu=new JMenu("菜单");
subMenu=new JMenu("子菜单");
item1=new JMenuItem("子菜单1");
item2=new JMenuItem("子菜单2");
menu.add(item1);
menu.addSeparator();
menu.add(item2);
menu.add(subMenu);
subMenu.add(new JMenuItem("子菜单里的菜单项"));
menubar.add(menu);
setJMenuBar(menubar);


}
 }
 class hemm{
public static void main(String args[]){
WindowMenu win=new WindowMenu();
}
}


------解决方案--------------------
你把 init(s)屏蔽了,当然不会显示菜单了。
------解决方案--------------------
调用init(String s)方法
------解决方案--------------------
在run()方法里调用init(String s)方法,并且实例化菜单项