Java 使用actionPerformed和actionListener获取错误

Java 使用actionPerformed和actionListener获取错误,java,action,actionlistener,Java,Action,Actionlistener,抱歉,如果这是重复的,但我找不到任何有效的。我做了一个测试类,所以我可以举个例子 public class Action implements ActionListener { public static void main(String[] args) { ... JButton b1 = new JButton("action"); b1.setVisible(true); b1.setSize(100,30); //Cannot instantiate

抱歉,如果这是重复的,但我找不到任何有效的。我做了一个测试类,所以我可以举个例子

public class Action implements ActionListener {

public static void main(String[] args) {

    ...
    JButton b1 = new JButton("action");
    b1.setVisible(true);
    b1.setSize(100,30);  //Cannot instantiate the type
    b1.addActionListener(new ActionListener());         
    @Override
    public void actionPerformed(ActionEvent e) { 
    //I get an error when I put "}" to close the brackets

    }
}

如果只将ActionListener用于JButton,则不需要实现它,但需要在addActionListener方法中实例化ActionListener

这是我的看法

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

import javax.swing.JButton;

public class Action {

public static void main(String[] args) {

    JButton b1 = new JButton("action");
    b1.setVisible(true);
    b1.setSize(100,30);  //Cannot instantiate the type
    b1.addActionListener(new ActionListener()
            {

                @Override
                public void actionPerformed(ActionEvent e) {
                    //Some action.

                }

            });
    }

}

非常感谢你!这就解决了一个问题:对特定对象使用导入是否更好?示例:import javax.swing.JButton;,和javax.swing.JFrame;,等等,而不是:import javax.swing.*;?再次感谢!如果您只使用了几个导入,那么应该只使用这些导入,但是如果它开始变得混乱,那么使用multiple import语句是值得的。