2017-03-28 3 views
-2

Sorry, wenn dies ein Duplikat ist, aber ich kann nichts finden, was funktioniert. Ich habe eine Testklasse gemacht, also kann ich ein Beispiel geben.Fehler erhalten mit actionPerformed und 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 the type 
    b1.addActionListener(new ActionListener());   
    @Override 
    public void actionPerformed(ActionEvent e) { 
    //I get an error when I put "}" to close the brackets 

    } 
} 

Antwort

-1

Sie brauchen keine Action zu implementieren, wenn Sie es nur für die JButton verwenden, aber Sie müssen eine Action im addActionListener Methode instanziiert.

Hier ist meine Sicht darauf.

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. 

       } 

      }); 
    } 

} 
+0

Vielen Dank! Dies hat es behoben, aber eine Frage: Ist es besser, Importe für ein bestimmtes Objekt zu verwenden? Beispiel: import javax.swing.JButton; und javax.swing.JFrame; und ähnliches anstelle von: import javax.swing. * ;? Danke noch einmal! – StarCoder

+0

Wenn Sie nur ein paar Imports verwenden, sollten Sie nur diesen Import verwenden, aber wenn es unübersichtlich wird, lohnt es sich, die multiple import-Anweisung zu verwenden. – Raheel138

Verwandte Themen