java白痴,才开始学习,想问下为什么我做的这个JMenuBar是这样的啊,这个怎么破啊大佬们求破。import javax.swing.*;这个是代码public class Gui { public static void main(String[] args) {
new MyFra();
}
}class MyFra extends JFrame
{
JMenu jm1,jm2,jm3,jm4,jm5;
JMenuBar jmb1;
JMenuItem jmi1,jmi2,jmi3,jmi4,jmi5,jmi6,jmi7,jmi8,jmi9,jmi10,jmi11,
jmi19,jmi20,jmi12,jmi14,jmi15,jmi16,jmi17,jmi18,jmi13,jmi21,jmi22,jmi23,jmi24;

public MyFra()
{
this.setBounds(300, 300, 300, 300);
this.setVisible(true);
this.setResizable(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setTitle("新建文本文档");

jmb1=new JMenuBar();

jm1=new JMenu("文件");
jm2=new JMenu("编辑");
jm3=new JMenu("格式");
jm4=new JMenu("查看");
jm5=new JMenu("帮助");

jmi1=new JMenuItem("新建");
jmi2=new JMenuItem("打开");
jmi3=new JMenuItem("保存");
jmi4=new JMenuItem("另存为");
jmi5=new JMenuItem("页面设置");
jmi6=new JMenuItem("打印");
jmi7=new JMenuItem("退出");

jmi8=new JMenuItem("撤销");
jmi9=new JMenuItem("剪切");
jmi10=new JMenuItem("复制");
jmi12=new JMenuItem("粘贴");
jmi13=new JMenuItem("删除");
jmi14=new JMenuItem("查找");
jmi15=new JMenuItem("查找下一个");
jmi16=new JMenuItem("替换");
jmi17=new JMenuItem("转到");
jmi18=new JMenuItem("全选");
jmi19=new JMenuItem("时间/日期");

jmi20=new JMenuItem("自动换行");
jmi21=new JMenuItem("字体");

jmi22=new JMenuItem("状态栏");

jmi23=new JMenuItem("查看帮助");
jmi24=new JMenuItem("关于记事本");


jm1.add(jmi1);
jm1.add(jmi2);
jm1.add(jmi3);
jm1.add(jmi4);
jm1.add(jmi5);
jm1.add(jmi6);
jm1.add(jmi7);

jm2.add(jmi8);
jm2.add(jmi9);
jm2.add(jmi10);
jm2.add(jmi12);
jm2.add(jmi13);
jm2.add(jmi14);
jm2.add(jmi15);
jm2.add(jmi16);
jm2.add(jmi17);
jm2.add(jmi18);
jm2.add(jmi19);

jm3.add(jmi20);
jm3.add(jmi21);

jm4.add(jmi22);

jm5.add(jmi23);
jm5.add(jmi24);

    jmb1.add(jm1);
jmb1.add(jm2);
jmb1.add(jm3);
jmb1.add(jm4);
jmb1.add(jm5);


this.add(jmb1);
}
}

解决方案 »

  1.   


    import javax.swing.*;public class Gui { public static void main(String[] args) {
    new MyFra();
    }
    }class MyFra extends JFrame {
    JMenu jm1, jm2, jm3, jm4, jm5;
    JMenuBar jmb1;
    JMenuItem jmi1, jmi2, jmi3, jmi4, jmi5, jmi6, jmi7, jmi8, jmi9, jmi10, jmi11, jmi19, jmi20, jmi12, jmi14, jmi15,
    jmi16, jmi17, jmi18, jmi13, jmi21, jmi22, jmi23, jmi24; public MyFra() {
    this.setBounds(300, 300, 300, 300);
    this.setVisible(true);
    this.setResizable(true);
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    this.setTitle("新建文本文档"); jmb1 = new JMenuBar(); jm1 = new JMenu("文件");
    jm2 = new JMenu("编辑");
    jm3 = new JMenu("格式");
    jm4 = new JMenu("查看");
    jm5 = new JMenu("帮助"); jmi1 = new JMenuItem("新建");
    jmi2 = new JMenuItem("打开");
    jmi3 = new JMenuItem("保存");
    jmi4 = new JMenuItem("另存为");
    jmi5 = new JMenuItem("页面设置");
    jmi6 = new JMenuItem("打印");
    jmi7 = new JMenuItem("退出"); jmi8 = new JMenuItem("撤销");
    jmi9 = new JMenuItem("剪切");
    jmi10 = new JMenuItem("复制");
    jmi12 = new JMenuItem("粘贴");
    jmi13 = new JMenuItem("删除");
    jmi14 = new JMenuItem("查找");
    jmi15 = new JMenuItem("查找下一个");
    jmi16 = new JMenuItem("替换");
    jmi17 = new JMenuItem("转到");
    jmi18 = new JMenuItem("全选");
    jmi19 = new JMenuItem("时间/日期"); jmi20 = new JMenuItem("自动换行");
    jmi21 = new JMenuItem("字体"); jmi22 = new JMenuItem("状态栏"); jmi23 = new JMenuItem("查看帮助");
    jmi24 = new JMenuItem("关于记事本"); jm1.add(jmi1);
    jm1.add(jmi2);
    jm1.add(jmi3);
    jm1.add(jmi4);
    jm1.add(jmi5);
    jm1.add(jmi6);
    jm1.add(jmi7); jm2.add(jmi8);
    jm2.add(jmi9);
    jm2.add(jmi10);
    jm2.add(jmi12);
    jm2.add(jmi13);
    jm2.add(jmi14);
    jm2.add(jmi15);
    jm2.add(jmi16);
    jm2.add(jmi17);
    jm2.add(jmi18);
    jm2.add(jmi19); jm3.add(jmi20);
    jm3.add(jmi21); jm4.add(jmi22); jm5.add(jmi23);
    jm5.add(jmi24); jmb1.add(jm1);
    jmb1.add(jm2);
    jmb1.add(jm3);
    jmb1.add(jm4);
    jmb1.add(jm5);

    setJMenuBar(jmb1); }
    }这是是要设置菜单栏而不是放入jframe容器内this.add(jmb1);改为 setJMenuBar(jmb1);