我收到一个未解决的编译错误。得到这些错误:
类型中的方法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()));
}
}
}
答案 0 :(得分:0)
避免在导入中使用*。您的问题是ActionListener
和ActionEvent
类未导入。因此,您必须导入它们:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
此外,您正在使用什么IDE?大多数IDE都会发现问题,并向您推荐一些解决方法。