package com.JavaSeries.Java.component;
import javax.swing.*;
public class InfoJMenu {
private JFrame mainFrame=null;
private JMenuBar myMenuBar=null;
private JMenu fileMenu=null;
private JMenu opMenu=null;
private JMenu queryMenu=null;
private JMenu helpMenu=null;
private JMenuItem file_Connect,file_Tofile,file_FromFile,file_Exit;
private JMenuItem op_Insert,op_Delete,op_Update;
private JMenuItem query_Grid,query_Card;
private JMenuItem help_About;
public InfoJMenu(JFrame mainFrame){
this.mainFrame=mainFrame;
init();
}
private void init()
{
myMenuBar=new JMenuBar();
mainFrame.setJMenuBar(myMenuBar);
addMenu();
help_About.addActionListener(this);
mainFrame.setVisible(true);
}
private void addMenu()
{
fileMenu=new JMenu("文件");
myMenuBar.add(fileMenu);
fileMenu.add(file_Connect=new JMenuItem("连接"));
fileMenu.add(file_Tofile=new JMenuItem("导入数据"));
fileMenu.add(file_FromFile=new JMenuItem("导出数据"));
fileMenu.add(file_Exit=new JMenuItem("退出"));

opMenu=new JMenu("数据操作");
myMenuBar.add(opMenu);
opMenu.add(op_Insert=new JMenuItem("添加"));
opMenu.add(op_Delete=new JMenuItem("删除"));
opMenu.add(op_Update=new JMenuItem("修改"));

queryMenu=new JMenu("数据查询");
myMenuBar.add(queryMenu);
queryMenu.add(query_Grid=new JMenuItem("表格"));
queryMenu.add(query_Card=new JMenuItem("卡片"));

helpMenu=new JMenu("帮助");
myMenuBar.add(helpMenu);
helpMenu.add(help_About=new JMenuItem("关于系统"));
}
public void actionPerformed(ActionEvent e)
{

}
}
为什么init中的help_About.addActionListener(this);会出错

解决方案 »

  1.   

    说什么The method addActionListener(ActionListener) in the type AbstractButton is not applicable for the 
     arguments (InfoJMenu)
      

  2.   

    你的InfoJMenu不是ActionListener的对象。要实现它才行。
      

  3.   

    package com.JavaSeries.Java.component;
    import javax.swing.*;
    public class InfoJMenu import ActionListener{
    private JFrame mainFrame=null;
    private JMenuBar myMenuBar=null;
    private JMenu fileMenu=null;
    private JMenu opMenu=null;
    private JMenu queryMenu=null;
    private JMenu helpMenu=null;
    private JMenuItem file_Connect,file_Tofile,file_FromFile,file_Exit;
    private JMenuItem op_Insert,op_Delete,op_Update;
    private JMenuItem query_Grid,query_Card;
    private JMenuItem help_About;
    public InfoJMenu(JFrame mainFrame){
    this.mainFrame=mainFrame;
    init();
    }
    private void init()
    {
    myMenuBar=new JMenuBar();
    mainFrame.setJMenuBar(myMenuBar);
    addMenu();
    help_About.addActionListener(this);
    mainFrame.setVisible(true);
    }
    private void addMenu()
    {
    fileMenu=new JMenu("文件");
    myMenuBar.add(fileMenu);
    fileMenu.add(file_Connect=new JMenuItem("连接"));
    fileMenu.add(file_Tofile=new JMenuItem("导入数据"));
    fileMenu.add(file_FromFile=new JMenuItem("导出数据"));
    fileMenu.add(file_Exit=new JMenuItem("退出"));opMenu=new JMenu("数据操作");
    myMenuBar.add(opMenu);
    opMenu.add(op_Insert=new JMenuItem("添加"));
    opMenu.add(op_Delete=new JMenuItem("删除"));
    opMenu.add(op_Update=new JMenuItem("修改"));queryMenu=new JMenu("数据查询");
    myMenuBar.add(queryMenu);
    queryMenu.add(query_Grid=new JMenuItem("表格"));
    queryMenu.add(query_Card=new JMenuItem("卡片"));helpMenu=new JMenu("帮助");
    myMenuBar.add(helpMenu);
    helpMenu.add(help_About=new JMenuItem("关于系统"));
    }
    public void actionPerformed(ActionEvent e)
    {}

    这样应该就可以了,只要把actionPerformed实现了,就可以完成功能了