好的,如果我将窗口侦听器添加到JFrame中,则可以添加一个新的WindowAdapter()
作为抽象类,然后覆盖所需的特定方法,以便可以向其添加功能,例如windowClosing()
。 WindowAdapter
是抽象类,是接口WindowListener
的默认实现,WindowListener
扩展了EventListener
;所有这些都是空的,仅定义方法名称,但没有实际代码。
所以我的问题是,它在哪里定义了根默认行为? X按钮与windowClosing
事件关联在哪里? windowClosing
事件在哪里定义?
我想这可能是因为我试图更好地理解抽象类,接口和子类,也许我试图解析的示例有点太复杂了。
最佳答案
X按钮与windowClosing事件关联在哪里?在哪里定义windowClosing事件?
简而言之,不必担心在何处定义它-它们全部在Swing内部事件机制中设置,对于最终用户而言,您不必担心。
有人可以帮助解释抽象类WindowAdapter
的工作方式吗?
正如您已经指出的,WindowAdapter
只是WindowListener
的“默认实现”。这意味着它将每个方法都实现为空白方法,因此您只需选择覆盖所需的方法即可。纯粹是为了方便起见,例如,为了省去定义一堆不用的空方法(例如,每次要关闭窗口时触发的监听器),这些空方法不必使用或不在乎。