我在JButton上设置ActionListener时遇到了一些麻烦,这是代码...

package pipes;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class PipesUI extends javax.swing.JFrame {

    Main main = new Main();

    JButton addPipeButton = new JButton("Add Pipe");

    public PipesUI(){
        addUI();
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

    private void addUI(){
        addPipeButton.addActionListener(this);
    }

     public void actionPerformed(ActionEvent e){
      if (e.getSource()==addPipeButton)
          main.addPipe();
       else
          ;
    }

    public static void main(String args[]) {
        PipesUI pipesUI = new PipesUI(); //  create an instance of the menu
        pipesUI.setSize(500,500);
        pipesUI.setVisible(true);
    }
}


错误就在网上
addPipeButton.addActionListener(this);

(this)似乎不喜欢,错误显示为“不兼容的类型:PipesUI无法转换为ActionListener”

任何帮助将非常感谢。

最佳答案

您创建了actionPerformed方法,但是没有将您的类声明为ActionListener。实现该接口:

public class PipesUI extends javax.swing.JFrame implements ActionListener {

08-04 03:15