所有事件类的超类

时间:2009-08-22 02:10:44

标签: java swing

我不能认为超类是AWTEvent类或EventObject吗?

2 个答案:

答案 0 :(得分:2)

两者。 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)包以查看哪些事件扩展哪些类。

答案 1 :(得分:0)

好吧,它必须是EventObject,因为它是AWTEvent的超类。更重要的是,正如其名称所示,AWTEvent是所有内置AWT事件类的超类,而标准库的其他部分(包括Swing)中的事件classess直接来自EventObject。您可以通过查看docs

自行查看所有这些内容

但这真的是一个重言式:所有事件的超级类是什么?当然,他们所有的课程都是分类的!对于标准库,我告诉你的是真的(AFAIK),但任何人都可以编写一个从任何现有的非final类中下来的类,并将其命名为“SomethingEvent”。注意不要过多地阅读名称和类层次结构。