好的,如果我将一个Window Listener添加到JFrame,我可以添加一个新的WindowAdapter()
作为抽象类,然后覆盖我想要的特定方法,以便我可以为它们添加功能,例如{{1 }}。 windowClosing()
是一个抽象类,是接口WindowAdapter
的默认实现,WindowListener
扩展WindowListener
;所有这些都是空的,只是定义方法名称,但没有真正的代码。
所以我的问题是,它在哪里定义了根默认行为是什么? X按钮与EventListener
事件绑定在哪里? windowClosing
事件定义在哪里?
我想它归结为我正在尝试更好地了解抽象类,接口和子类化,也许我试图解析的例子有点过于复杂。
答案 0 :(得分:3)
X按钮在哪里绑定到windowClosing事件? windowClosing事件定义在哪里?
简而言之,不要担心特别定义它的位置 - 它都是在Swing内部事件机制中设置的,这不是您需要担心的最终用户。
正如您所指出的,有人可以帮助解释抽象类
WindowAdapter
的工作原理吗?
WindowAdapter
就是WindowListener
的“默认实施”。所有这些意味着它将每个方法都实现为一个空白方法,因此您只需选择覆盖您需要的方法。这纯粹是为了方便,为了节省你必须定义一堆你不使用或不关心的空方法,例如,你想要设置一个只在窗口关闭时触发的监听器。