Wenn ich einen Aktion Listener hinzufüge, dann verwende ich immer das "this" zwischen den Klammern. Aber wofür steht dieses "This"?Java ".addActionListener (this)"
Antwort
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.
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
„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.
- 1. Java AddActionListener funktioniert nicht
- 2. Java Swing Methode addActionListener Fehler
- 3. addMouseListener oder addActionListener oder JButton?
- 4. java this (null)
- 5. Java-Setter und "this"
- 6. Wann "this" in Java
- 7. Java Generics <this??>
- 8. Welche Parameter werden verwendet, wenn .addActionListener() aufgerufen wird?
- 9. Kompilieren $ (this) als $ (_ this)
- 10. Java: Das Schlüsselwort "this" und Serialisierung
- 11. Verwendung von "this" mit Methoden (in Java)
- 12. Bedeutung von .this und .class in Java
- 13. Mit dem Schlüsselwort "this" in Java
- 14. Was ist der Unterschied zwischen "this", "$ this" und "$ (this)"?
- 15. GWT uiBinder.createAndBindUi (this) Hilfe
- 16. $ (this) ODER event.target ODER var input = $ (this)
- 17. Unterschied zwischen $ (this) .index() und element.index (this)
- 18. jQuery $ this vs $ (this) in Plugin-Entwicklung
- 19. Javascript 'this'
- 20. Pass $ this
- 21. Bedeutung von "this"
- 22. Beeinflusst die Verwendung des Schlüsselworts 'this' die Java-Leistung?
- 23. Worauf bezieht sich Java `this` eigentlich in einer Vererbungssituation?
- 24. Java - Wann ist die 0. lokale Variable nicht 'this'?
- 25. Warum stellen Leute in Java Felder mit `this` vor?
- 26. Unterschied zwischen 'super' und 'this'
- 27. Verwenden von "this" mit Klassennamen
- 28. synchronisieren (this) vs synchronize (MyClass.class)
- 29. jQuery: Was ist der Unterschied zwischen '$ (this)' und 'this'?
- 30. Unterschied zwischen $ reaktiven (this) .attach ($ scope) und $ scope.viewModel (this)