好的,如果我将窗口侦听器添加到JFrame中,则可以添加一个新的WindowAdapter()作为抽象类,然后覆盖所需的特定方法,以便可以向其添加功能,例如windowClosing()WindowAdapter是抽象类,是接口WindowListener的默认实现,WindowListener扩展了EventListener;所有这些都是空的,仅定义方法名称,但没有实际代码。

所以我的问题是,它在哪里定义了根默认行为? X按钮与windowClosing事件关联在哪里? windowClosing事件在哪里定义?

我想这可能是因为我试图更好地理解抽象类,接口和子类,也许我试图解析的示例有点太复杂了。

最佳答案

X按钮与windowClosing事件关联在哪里?在哪里定义windowClosing事件?


简而言之,不必担心在何处定义它-它们全部在Swing内部事件机制中设置,对于最终用户而言,您不必担心。


  有人可以帮助解释抽象类WindowAdapter的工作方式吗?


正如您已经指出的,WindowAdapter只是WindowListener的“默认实现”。这意味着它将每个方法都实现为空白方法,因此您只需选择覆盖所需的方法即可。纯粹是为了方便起见,例如,为了省去定义一堆不用的空方法(例如,每次要关闭窗口时触发的监听器),这些空方法不必使用或不在乎。

09-16 03:56