我设置好了菜单栏,也可以看见,想对它编写事件
import java.swing.*;
import java.awt.*;
JMenuItem exit=new JMenuItem();
public void actionPerformed(ActionEvent e)
{if e.getSource()==exit;
System.exit(0);}
然后就报如下错误,这是怎么回事啊
javax.swing.JMenuItem cannot be cast to javax.swing.JButton

解决方案 »

  1.   

    JMenuItem 不是 JButton 的子类哦
      

  2.   

    显然你是监视器注册错误。你单击菜单项触发一个ActionEvent事件,那么,你应当给该菜单项注册监视器啊。它和按钮的监视器可以是一个对象,所以,在它的actionPerformed方法中,可以用if   e.getSource()==exit来判断事件是否来自菜单项。显然,你是忘记了给该菜单项注册监视器。
      

  3.   

    可是我写了exit.addActionListener(this)的啊,应该注册了啊,还需要别的注册吗?
      

  4.   

    JMenuItem   改成JButton
      

  5.   

    你的代码不全.
    或许,你只有JMenuItem, 没有JMenu __ = new JMenu("File");