Java错误:类'Anonymous'必须被声明为abstract或在'ActionListener'中实现抽象方法'actionPerformed(ActionEvent)'

时间:2015-01-08 00:38:14

标签: java actionlistener

我一直在努力为按钮设置动作监听器,但我无法弄清楚原因。我已经提到了很多教程,但我已经得到了必须宣布抽象或必须实现抽象方法.....错误。我已经看到了关于解决这个问题的类似主题,但没有任何真正帮助我的东西。任何帮助都会很棒。这是一个与我正在做的类似的简短示例:

import java.awt.event.ActionListener;
import javafx.event.ActionEvent;
import javax.swing.*;


public class Kitty {

    private static void mainFrame() {

        JFrame mainFrame = new JFrame("Kitty");
        JPanel mainPanel = new JPanel();
        mainFrame.setSize(200,200);
        mainFrame.setResizable(false);
        mainFrame.add(mainPanel);
        mainFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        mainFrame.setVisible(true);

        JButton button1 = new JButton("Pet the kitty");
        mainPanel.add(button1);

        button1.addActionListener(new ActionListener(){
        // Line above (Specifically ActionListener) says Class 'Anonymous' must either be declared abstract or
        // implement abstract method 'actionPerformed(ActionEvent)' in 'ActionListener'

            public void actionPerformed(ActionEvent event){
                System.out.println("Purrrrrr....");
            }
        });
    }

    public static void main(String[] args) {
        mainFrame();
    }
}

3 个答案:

答案 0 :(得分:5)

您导入了错误的ActionEvent类。这就是为什么它说你没有实现这种方法。使用java.awt.event.ActionEvent。

答案 1 :(得分:4)

使用import java.awt.event.ActionListener而不是import javafx.event.ActionEvent

答案 2 :(得分:4)

导入

java.awt.event.ActionEvent

而不是

javafx.event.ActionEvent