public static void main(String[] args) {
JFrame jf=new JFrame("Frame Test !");
jf.setLocation(300, 200);
jf.setSize(450, 450);
//JPanel p=new JPanel();
MenuBar mb=new MenuBar();
Menu m1=new Menu();
MenuItem ne=new MenuItem("新建");
MenuItem open=new MenuItem("打开");
MenuItem close=new MenuItem("关闭");


Menu m2=new Menu();
MenuItem edi=new MenuItem("编辑");
MenuItem see=new MenuItem("查看");
MenuItem add=new MenuItem("添加");


Menu m3=new Menu();
MenuItem help=new MenuItem("帮助");
MenuItem dir=new MenuItem("目录");
MenuItem index=new MenuItem("索引");

m1.add(ne);
m1.add(open);
m1.add(close);
m2.add(edi);
m2.add(see);
m2.add(add);
m3.add(help);
m3.add(dir);
m3.add(index);

mb.add(m1);
mb.add(m2);
mb.add(m3); setMenuBar(mb);
jf.setVisible(true);

}显示setMenuBar(mb);The method setMenuBar(MenuBar) is undefined for the type MyFrame

解决方案 »

  1.   

    jf.setMenuBar(mb); 
    你光setMenuBar但没有指定添加到哪个容器
      

  2.   

    就像一楼说的一样。
    如果你把setMenuBar放到构造方法里也可以,其实就是this.setMenuBar(.....);
      

  3.   

    import java.awt.Menu;
    import java.awt.MenuBar;
    import java.awt.MenuItem;
    import javax.swing.JFrame;class Test {    public static void main(String[] args) {        JFrame jf = new JFrame("Frame Test !");
            jf.setLocation(300, 200);
            jf.setSize(450, 450);
    //JPanel p=new JPanel();
            MenuBar mb = new MenuBar();
            Menu m1 = new Menu("File");
            MenuItem ne = new MenuItem("新建");
            MenuItem open = new MenuItem("打开");
            MenuItem close = new MenuItem("关闭");
            Menu m2 = new Menu("Edit");
            MenuItem edi = new MenuItem("编辑");
            MenuItem see = new MenuItem("查看");
            MenuItem add = new MenuItem("添加");
            Menu m3 = new Menu("Help");
            MenuItem help = new MenuItem("帮助");
            MenuItem dir = new MenuItem("目录");
            MenuItem index = new MenuItem("索引");        m1.add(ne);
            m1.add(open);
            m1.add(close);
            m2.add(edi);
            m2.add(see);
            m2.add(add);
            m3.add(help);
            m3.add(dir);
            m3.add(index);        mb.add(m1);
            mb.add(m2);
            mb.add(m3);        jf.setMenuBar(mb);
            jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            jf.setVisible(true);    }
    }
      

  4.   

    1.像1楼说的 jf.setMenuBar(mb); 
    2.添加上以后实际上已经出来了,只是你的Menu没有命名,所以看不见
      改一下Menu m1=new Menu("m1"); 
            Menu m2=new Menu("m2");
    搞定!