java - AbstractButton 类型中的方法 addActionListener(ActionListener) 不适用于参数 (new ActionListener(){})

标签 java

我收到错误,“AbstractButton 类型中的方法 addActionListener(ActionListener) 不适用于此代码的参数 (new ActionListener(){})”:

package JFrame;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;

import javax.swing.JButton;
import javax.swing.JFrame;
public class ActionListener {

public static void main(String[] args) {
    JFrame frame = new JFrame();
    frame.setSize(800, 600);
    frame.setVisible(true);
    frame.setTitle("Title");
    frame.setLayout(null);

    frame.setResizable(false);

    Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
    int w = frame.getSize().width;
    int h = frame.getSize().height;
    int x = (dim.width-w)/2;
    int y = (dim.height-h)/2;

    frame.setLocation(x, y);

    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    JButton b1 = new JButton("Press");
    b1.setBounds(100, 100, 100, 100);
     b1.addActionListener(new ActionListener(){
         public void actionPerformed(ActionEvent e){  

            }    
     });
     }
}

最佳答案

您的类名称也被命名为 ActionListener,因此 JFrame.ActionListener 类型不适用于 java.awt.event.ActionListener。您必须像这样限定类的名称:

b1.addActionListener(new java.awt.event.ActionListener(){
     public void actionPerformed(ActionEvent e){  

        }    
 });

重命名您的类以从一开始就防止这种歧义也是一个好主意。

关于java - AbstractButton 类型中的方法 addActionListener(ActionListener) 不适用于参数 (new ActionListener(){}),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49404306/

相关文章:

用于在 Linux 中创建图形和图表的 Java 编程实用程序

java - jdk8 中的 HashMap 调整大小

方法参数可接受的 Java 方法返回类型 [...]

java - 通过检查 junit 报告导致 ant 构建失败?

Java spring Rest服务不强制转换参数

java - Eclipse Java 版本未完全更新

java - 自定义标题栏中的问题(android)

java - 如何设置我的 compileSDKversion 以支持 Java 1.6

java - 从 Swing 转换为 JavaFX? (迁移指南)

java - 如何在 Jess 中制作一个 java gui 作为小程序?