gpt4 book ai didi

java - 我应该使用什么事件来检测自定义 JComponent 中父 JFrame 的关闭?

转载 作者:行者123 更新时间:2023-12-02 07:30:25 26 4
gpt4 key购买 nike

我有一个自定义 JComponent放置在 JFrame (很好地放置在 JPanelJFrame )。我用过setDefaultCloseOperation()设置我的 JFrameDISPOSE_ON_CLOSE .

我的自定义组件有一个 Timer在框架关闭后继续运行。我知道我可以添加 WindowListenerJFrame然后调用自定义组件停止,但我更愿意让我的组件被完全封装。有没有什么事件可以用来检测父级JFrame已从我的 JComponent 中关闭?

最佳答案

  1. 您是否实现了 WindowListenerwindowClosing 事件。
  2. AncestorListener 添加到您的自定义组件并监听 ancestorAdded 事件。当您将组件添加到可见的 GUI 或实现包含您的组件的 GUI 时,会生成此事件。
  3. ancestorAdded 事件中,您将 WindowListener 添加到框架中。您可以使用 SwingUtilties.windowForComponent(...) 方法获取当前帧。

现在所有的逻辑都包含在你的类中。

关于java - 我应该使用什么事件来检测自定义 JComponent 中父 JFrame 的关闭?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22329253/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com