使用外部资源时出现无法解决的编译错误

时间:2018-08-11 22:14:29

标签: actionlistener eventhandler actionevent

我收到一个未解决的编译错误。得到这些错误:

  

类型中的方法addActionListener(ActionListener)   AbstractButton不适用于参数(Gui.HandlerClass)   类型中的方法addActionListener(ActionListener)   AbstractButton不适用于参数(Gui.HandlerClass)   无法将ActionListener解析为ActionEvent类型   解析为类型

import java.awt.*;
import javax.swing.*;
public class Gui extends JFrame{

private JButton reg;
private JButton custom;

public Gui(){
    super("The title");
    setLayout(new FlowLayout());

    reg = new JButton("Regular Button");
    add(reg);

    Icon b = new ImageIcon(getClass().getResource("foto 1.png"));
    Icon c = new ImageIcon(getClass().getResource("foto 2.png"));
    custom = new JButton("Custom", b);
    custom.setRolloverIcon(c);
    add(custom);

    HandlerClass handler = new HandlerClass();
    reg.addActionListener(handler);
    custom.addActionListener(handler);
}

private class HandlerClass implements ActionListener{
    public void actionPerformed(ActionEvent event) {
    JOptionPane.showMessageDialog(null, String.format("%s", event.getActionCommand()));
    }
}
}

1 个答案:

答案 0 :(得分:0)

避免在导入中使用*。您的问题是ActionListenerActionEvent类未导入。因此,您必须导入它们:

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

此外,您正在使用什么IDE?大多数IDE都会发现问题,并向您推荐一些解决方法。