在setJMenuBar(menuBar);这里出错了,但我不明白错在哪?是没对象吗?还是什么原因啊?

解决方案 »

  1.   

    程序如下
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;public class JMenuTest extends Frame 
    {
    JMenuBar menuBar;
    JMenu menu,submenu;
    JMenuItem menuItem;
    JCheckBoxMenuItem cbmenuItem;
    JRadioButtonMenuItem rbmenuItem; public JMenuTest()
    {
    super("JMenuTest");
    addWindowListener(new WindowAdapter()
    {
    public void windowClosing(WindowEvent e)
    {
    System.exit(0);
    }
    });
    createMenu();
    } public void createMenu()
    {
    menuBar = new JMenuBar();
    setJMenuBar(menuBar); menu = new JMenu("菜单1");
    menu.setMnemonic(KeyEvent.VK_A);
    menuBar.add(menu); menuItem = new JMenuItem("文本菜单项");
    menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_1,ActionEvent.ALT_MASK));
    menu.add(menuItem); menu.addSeparator(); ButtonGroup group = new ButtonGroup(); rbmenuItem = new JRadioButtonMenuItem("单选菜单项1");
    rbmenuItem.setSelected(true);
    rbmenuItem.setMnemonic(KeyEvent.VK_R);
    group.add(rbmenuItem);
    menu.add(rbmenuItem); rbmenuItem = new JRadioButtonMenuItem("单选菜单2");
    rbmenuItem.setMnemonic(KeyEvent.VK_O);
    group.add(rbmenuItem);
    menu.add(rbmenuItem); menu.addSeparator(); cbmenuItem = new JCheckBoxMenuItem("多项选单1");
    cbmenuItem.setMnemonic(KeyEvent.VK_C);
    menu.add(cbmenuItem); cbmenuItem = new JCheckBoxMenuItem("多项选单2");
    cbmenuItem.setMnemonic(KeyEvent.VK_H);
    menu.add(cbmenuItem); menu.addSeparator(); submenu = new JMenu("子菜单");
    submenu.setMnemonic(KeyEvent.VK_S); menuItem = new JMenuItem("子菜单选项1");
    menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_2,ActionEvent.ALT_MASK));
    submenu.add(menuItem); menuItem = new JMenuItem("子菜单选项2");
    submenu.add(menuItem);
    menu.add(submenu); menu = new JMenu("无菜单选项");
    menu.setMnemonic(KeyEvent.VK_W);
    menuBar.add(menu); }
    public static void main(String[] args) 
    {
    JMenuTest mainFrame = new JMenuTest();
    mainFrame.setSize(600,400);
    mainFrame.setVisible(true);
    }
    }
      

  2.   

    setJMenuBar(menuBar);
    是不是应该有个对象然后再object.setJMenuBar(menuBar);呀
    setJMenuBar(menuBar);可不是本地方法啊~~~
      

  3.   

    很简单,因为你继承的是Frame类,该类没有setJMenuBar(..)方法。
    你应该继承JFrame类,这样上面的程序就没有问题了:
    public class JMenuTest extends JFrame
      

  4.   

    哦 原来那里出错
    那请问??JFrame 和 Frame 有区别吗??
      

  5.   

    哦 查了一下文档,JFrame确实有setMenubar这个方法
    不过,哭啊。。光是JFrame就有很多方法了啦??难道全部都要记得吗????
    上面的高手,你记得那么多的方法吗????