2010-06-25 8 views

Antwort

6

Die addActionListener-Methode verwendet das aktuelle Klassenobjekt als Parameter. Das "dieses" Schlüsselwort bedeutet einfach "dieses Objekt, an dem ich gerade arbeite". Wenn Sie Netbeans verwenden, können Sie "this" eingeben und einen Punkt nach diesem einfügen, um alle Methoden anzuzeigen, die in dieser Klasse definiert sind. Es sollte alle Methoden auflisten, die in Ihrer Klasse definiert sind, einschließlich geerbter Methoden.

Um zu verstehen, was "dies" bedeutet, müssen Sie zuerst die Beziehung zwischen Klassen und Objekten verstehen.

Wenn Sie technische Informationen haben möchten, ist "dies" eine Referenz auf das aktuelle Objekt.

0

Wenn Sie look at the tutorial dann werden Sie sehen, ...

einen Aktions Zuhörer zu schreiben, lesen die unten angegebenen Schritte:
ein Event-Handler-Klasse deklarieren und angeben, dass die Klasse entweder implementiert eine Action-Schnittstelle oder ein erweitert Klasse, die eine ActionListener-Schnittstelle implementiert.
Zum Beispiel:

public class MyClass implements ActionListener { 

eine Instanz der auf einer oder mehr Komponenten als Zuhörer Event-Handler-Klasse registrieren.
Zum Beispiel:

someComponent.addActionListener(instanceOfMyClass); 

Code enthält, der die Methoden in Listener-Schnittstelle implementiert.
Zum Beispiel:

public void actionPerformed(ActionEvent e) { 
     ...//code that reacts to the action... 
    } 

Das entspricht dies einer implementiert und instanziiert Action, die Klasse sein geschieht. Sie könnten jede Klasse übergeben, die die ActionListener-Schnittstelle implementiert.

Auf diese Weise, wenn eine Taste, um die Ihre Methode actionPerformed gedrückt wird

2

„this“ steht für die aktuelle Klasse Instanz, die Sie innen sind aufgerufen werden.

Es wird funktionieren, solange die Klasse die ActionListener-Schnittstelle implementiert.

Sie können ein völlig anderes Objekt verwenden, wenn Sie möchten, z. eine anonyme innere Klasse erstellen, die die Action Schnittstelle implementiert:

button.addActionListener(new ActionListener() { 
     public void actionPerformed(ActionEvent e) { 
      System.out.println("Hello!!!"); 
     } 
    }); 

Dies ist hilfreich, wenn Sie mehrere andere Aktion Hörer haben wollen, aber nicht wollen, separate Klassen für jeden zu schaffen.