Суперкласс всех классов событий - PullRequest
0 голосов
/ 22 августа 2009

Не могу понять, что этот суперкласс является классом AWTEvent или EventObject?

Ответы [ 2 ]

2 голосов
/ 22 августа 2009

Оба. EventObject является суперклассом AWTEvent. А AWTEvent - это суперкласс многих событий, которые вы будете использовать в повседневном коде. Большинство событий ввода с клавиатуры, мыши или базового пользователя - это AWTEvents. Для более конкретных событий Swing большинство из них расширяют EventObject - хотя и не все.

Например: ActionEvent расширяет AWTEvent, который расширяет EventObject

http://java.sun.com/javase/6/docs/api/java/awt/event/ActionEvent.html

EventObject - это очень простой класс, практически самый простой из интерфейсов (хотя на самом деле это не интерфейс). AWTEvent - это класс, который фактически обрабатывает входные события на более низком уровне. Для классов Swing, которые не имеют непосредственного отношения к событиям аппаратного ввода, им нужно только расширить функциональность, предоставляемую EventObject, поэтому они и расширяются.

Если вы хотите узнать, какие события расширяют, какие классы переходят в API, и просмотрите пакеты java.awt.event (http://java.sun.com/javase/6/docs/api/java/awt/event/package-frame.html) и javax.swing.event (http://java.sun.com/javase/6/docs/api/javax/swing/event/package-frame.html)), чтобы увидеть, какие события расширить какие классы.

0 голосов
/ 22 августа 2009

Ну, это должен быть EventObject, так как это суперкласс AWTEvent. Более того, AWTEvent, как следует из названия, является суперклассом всех встроенных классов событий AWT, в то время как классы событий в других частях стандартных библиотек (включая Swing) происходят непосредственно от EventObject. Вы можете увидеть все это сами, посмотрев на документы .

Но это действительно тавтология: какой суперкласс всех классов событий? Класс, от которого они все подклассы, конечно! То, что я сказал вам, верно (AFAIK) для стандартных библиотек, но любой может написать класс, который происходит от любого существующего, не финального класса, и назвать его «SomethingEvent». Будьте осторожны, не читайте слишком много имен и иерархий классов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...