Ich kann nicht, dass diese Super-Klasse AWTEvent-Klasse oder EventObject ist?Die Superklasse aller Event-Klassen
Antwort
Beide. EventObject ist die Superklasse von AWTEvent. Und AWTEvent ist die Oberklasse vieler Ereignisse, die Sie im täglichen Code verwenden. Die meisten Tastatur-, Maus- oder grundlegenden Benutzereingabeereignisse sind AWTEvents. Für die spezifischeren Swing-Ereignisse erweitern die meisten von ihnen EventObject - allerdings nicht alle.
Zum Beispiel: Action erstreckt AWTEvent die Eventobject Verlängert
http://java.sun.com/javase/6/docs/api/java/awt/event/ActionEvent.html
Eventobject ist eine sehr einfache Klasse, praktisch nur die grundlegendsten Schnittstellen (obwohl es nicht wirklich eine Schnittstelle ist). AWTEvent ist die Klasse, die die Eingabeereignisse auf einer niedrigeren Ebene behandelt. Für die Swing-Klassen, die nicht direkt mit Hardware-Eingabeereignissen arbeiten, müssen sie nur die von EventObject bereitgestellte Funktionalität erweitern, also erweitern sie diese.
Wenn Sie sehen möchten, welche Ereignisse erweitern, welche Klassen in der API gehen und durchsuchen Sie die java.awt.event (http://java.sun.com/javase/6/docs/api/java/awt/event/package-frame.html) und javax.swing.event (http://java.sun.com/javase/6/docs/api/javax/swing/event/package-frame.html) Pakete zu sehen, welche Ereignisse, die Klassen erweitern.
Nun, es müsste EventObject sein, da es die Superklasse von AWTEvent ist. Genauer gesagt ist AWTEvent, wie der Name schon sagt, die Oberklasse aller eingebauten AWT-Ereignisklassen, während Ereignisklassen in anderen Teilen der Standardbibliotheken (einschließlich Swing) direkt von EventObject abstammen. Sie können all dies für sich selbst sehen, indem Sie auf die docs schauen.
Aber das ist wirklich eine Tautologie: Was ist die Superklasse aller Eventklassen? Die Klasse, von der sie alle unterklassifiziert sind, natürlich! Was ich Ihnen gesagt habe, ist wahr (AFAIK) für die Standard-Bibliotheken, aber jeder kann eine Klasse schreiben, die von einer existierenden, nicht-finalen Klasse abstammen und sie "SomethingEvent" nennen. Achten Sie darauf, nicht zu viel in Namen und Klassenhierarchien zu lesen.
- 1. Ist es möglich, in flex/as3 auf die Superklasse einer Superklasse zuzugreifen?
- 2. JsonGenerator-Ausgabe-Unterklasse mit Superklasse
- 3. Rufen Sie eine Methode aus der Superklasse der Superklasse
- 4. Assoziationsmapping mit gemappter Superklasse
- 5. Smalltalk Superklasse vs Metaklasse?
- 6. Autowinding Feder Superklasse
- 7. Schienen - Superklasse nicht übereinstimmend
- 8. Python Superklasse Reflexion
- 9. Ruft die Superklasse die überschriebene Methode nicht auf?
- 10. aus mehreren Klassen erben, die die gleiche Superklasse haben - Abhilfe
- 11. Überladen einer Methode einer Superklasse
- 12. Zugriff auf Elementfunktion der Superklasse
- 13. Inject Federabhängigkeit in abstrakte Superklasse
- 14. IBOutlet-Eigenschaften der Superklasse überschreiben?
- 15. Gson fromJson generische Superklasse mit
- 16. Verständnis es6 Mixin Superklasse Konvention
- 17. Invoke "Superklasse" -Konstruktor in JavaScript
- 18. Zugriff auf die Meta-Attribute einer Superklasse in Python?
- 19. verhindern, dass Schemagen die Superklasse zum Schema hinzufügt?
- 20. So rufen Sie die überschriebene Methode einer Superklasse auf
- 21. Wie auf die Klassenattribute einer Superklasse in Python zugreifen?
- 22. {@inheritDoc} vererbt die Superklasse javadoc nicht in Eclipse
- 23. Wie eine Superklasse zu erweitern und eine Methode oder Lazy Val in Superklasse Konstruktor Parameter aufrufen
- 24. C# deklarieren Unterklasse als Typ Superklasse
- 25. Java: zurückgebende Unterklasse in Superklasse Methodensignatur
- 26. Verwenden von ArrayLists in Superklasse/Unterklassenframework
- 27. Java-Reflektionszugriffsmethode mit Standardmodifikator in der Superklasse
- 28. Annotationen auf entites mit gleichen Superklasse
- 29. Interface/Superklasse für Collections/Container in C++
- 30. Unterschied zwischen einer Elternklasse und Superklasse
Eigentlich ist 'AWTEvent' keine Basisklasse der meisten Swing Events. Swing ist nicht bekannt für seine Konsistenz. –
Richtig du bist, die meisten Ereignisse, an die ich dachte, waren AWT Events und ich hatte es nie bemerkt. –
AWTEvent ist keine Basisklasse von ** any ** Swing-Ereignissen; AWTEvents werden nur von AWT-Komponenten verwendet. Swing baut auf AWT auf, hat aber viele Event-Klassen, die völlig unabhängig von AWT sind. Warum sollten sie Unterklassen von AWTEvent sein? –