import javax.swing.*;
import javax.swing.event.*;public class Fram_Main extends JFrame {
public Fram_Main()
{
super ("百泉科技");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(800,600);
this.setVisible(true);
//this.setLayout(new BorderLayout());
}
public void frame()
{
JMenuBar MB=new JMenuBar();
JMenu menu_file =new JMenu();
JMenu menu_edit =new JMenu();
JMenu menu_operation =new JMenu();
JMenu menu_window =new JMenu();
JMenu menu_help =new JMenu();

MB.add(menu_file);
MB.add(menu_edit);
MB.add(menu_operation);
MB.add(menu_window);
MB.add(menu_help);

JMenuItem i_open=new JMenuItem("打开");
JMenuItem i_new=new JMenuItem("新建");
JMenuItem i_save=new JMenuItem("保存");
JMenuItem i_saveas=new JMenuItem("另保存");
JMenuItem i_exit=new JMenuItem("退出");

menu_file.add(i_open);
menu_file.add(i_new);
menu_file.add(i_save);
menu_file.add(i_saveas);
menu_file.add(i_exit); this.add(MB);
}
public static void main(String[] args)
{
Fram_Main FM=new Fram_Main();
FM.frame();
}
}
我这样写,为什么运行后看不到菜单?

解决方案 »

  1.   

    package Jan;import javax.swing.*;
    import javax.swing.event.*;public class Fram_Main extends JFrame {
    public Fram_Main()
    {
    super ("百泉科技");
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    this.setSize(800,600);
    this.setVisible(true);
    //this.setLayout(new BorderLayout());
    }
    public void frame()
    {
    JMenuBar MB=new JMenuBar();
    JMenu menu_file =new JMenu();
    JMenu menu_edit =new JMenu();
    JMenu menu_operation =new JMenu();
    JMenu menu_window =new JMenu();
    JMenu menu_help =new JMenu();this.add(MB);
    JMenuItem i_open=new JMenuItem("打开");
    JMenuItem i_new=new JMenuItem("新建");
    JMenuItem i_save=new JMenuItem("保存");
    JMenuItem i_saveas=new JMenuItem("另保存");
    JMenuItem i_exit=new JMenuItem("退出");this.setJMenuBar(MB);
    menu_file.setText("File"); 
    MB.add(menu_file);/*
    MB.add(menu_edit);
    MB.add(menu_operation);
    MB.add(menu_window);
    MB.add(menu_help);*/menu_file.add(i_open);
    menu_file.add(i_new);
    menu_file.add(i_save);
    menu_file.add(i_saveas);
    menu_file.add(i_exit);
     JTextArea jt = new JTextArea();this.repaint();
    this.validate();
    }
    public static void main(String[] args)
    {
    Fram_Main FM=new Fram_Main();
    FM.frame();
    }
    }
      

  2.   

    import javax.swing.*;
    import javax.swing.event.*;public class Fram_Main extends JFrame {
    public Fram_Main() {
    super ("百泉科技");
    this.frame();
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    this.setSize(800,600);
    this.setVisible(true);
    //this.setLayout(new BorderLayout());
    } public void frame() {
    JMenuBar MB=new JMenuBar();
    JMenu menu_file =new JMenu("文件");
    JMenu menu_edit =new JMenu("XXX");
    JMenu menu_operation =new JMenu("YYY");
    JMenu menu_window =new JMenu("ZZZ");
    JMenu menu_help =new JMenu("HELP"); MB.add(menu_file);
    MB.add(menu_edit);
    MB.add(menu_operation);
    MB.add(menu_window);
    MB.add(menu_help); JMenuItem i_open=new JMenuItem("打开");
    JMenuItem i_new=new JMenuItem("新建");
    JMenuItem i_save=new JMenuItem("保存");
    JMenuItem i_saveas=new JMenuItem("另保存");
    JMenuItem i_exit=new JMenuItem("退出"); menu_file.add(i_open);
    menu_file.add(i_new);
    menu_file.add(i_save);
    menu_file.add(i_saveas);
    menu_file.add(i_exit); //this.add(MB);
    this.setJMenuBar(MB);
    } public static void main(String[] args) {
    Fram_Main FM=new Fram_Main();
    }
    }
      

  3.   

    你看不到显示的原因有2个:
                  1、你用“this.add(MB)”是错误的应该用“this.setJMenuBar(MB);”
                  2、你定义菜单的时候JMenu menu_file =new JMenu();
                                     JMenu menu_edit =new JMenu();
                                     ......
                      应该用带参的构造方法如:JMenu menu_file =new JMenu("文件");
                                              JMenu menu_edit =new JMenu("编辑");
                                               .........