Java ActionListener error: incompatible types

J'ai un peu de difficulté à mettre en place un ActionListener sur un JButton, voici le code...

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);
    }
}

L'erreur est sur la ligne
addPipeButton.addActionListener(this);

L' (ce), il ne semble pas l'apprécier, le message d'erreur indique "incompatible types: PipesUI ne peut pas être convertie ActionListener'

Toute aide serait super merci.

  • Qu'est-ce que this? De quel type est cette référence?
  • Je ne sais pas vraiment... C'est ma première fois en utilisant actionlisteners et j'ai vu "ce" écrit en ces crochets avant, donc j'ai simplement utilisé eux, ce qui devrait aller dans les crochets?
  • Aucun bouton n'apparait sur mon JFrame soit, ce qui est à l'origine de cela?
InformationsquelleAutor benharris | 2013-11-08