本帖最后由 张亚青 于 2013-3-27 12:41 编辑
Menu是MenuItem的子类,继承了MenuItem的addActionListener()方法,但是在如下代码中【退出菜单】Menu 类型closeMenu中用到此方法的时候,为什么能够编译通过,但是点击后却没有反应呢?
- import java.awt.*;
- import java.awt.event.*;
- class MenuDemo
- {
- private Frame f;
- private MenuBar mb;
- private Menu m,subMenu,closeMenu;
- private MenuItem subItem;
- MenuDemo()
- {
- init();
- }
- public void init()
- {
- f=new Frame("My window");
- f.setBounds(300,100,500,600);
- f.setLayout(new FlowLayout());
- mb=new MenuBar();
- m=new Menu("文件");
- subMenu=new Menu("子菜单");
- closeMenu=new Menu("退出");
- subItem=new MenuItem("子条目");
- subMenu.add(subItem);
- m.add(subMenu);
- m.add(closeMenu);
-
-
- mb.add(m);
- f.setMenuBar(mb);
- myEvent();
- f.setVisible(true);
- }
- private void myEvent()
- {
- //mouseandkeyevent.java复制过来的f窗口监听器
- f.addWindowListener(new WindowAdapter()
- {
- public void windowClosing(WindowEvent e)
- {
- System.exit(0);
- }
- });
- closeMenu.addActionListener(new ActionListener()
- {
- public void actionPerformed(ActionEvent e)
- {
- System.exit(0);
- }
- });
- }
- public static void main(String[] args)
- {
- new MenuDemo();
- }
- }
复制代码 |