gpt4 book ai didi

Java Swing 应用程序生命周期问题

转载 作者:搜寻专家 更新时间:2023-11-01 03:28:26 39 4
gpt4 key购买 nike

我有一个用于启动 Swing 用户界面的 Java 应用程序。该接口(interface)是一个封装了 JFrame 实例的类。问题在于应用程序分配了一些资源并且 Swing 界面使用了这些资源,但是应用程序关闭了资源而不是用户界面。

我怎样才能实现主应用程序在整个 Swing 界面关闭时收到通知,或者 Swing 界面的启动阻塞直到它关闭。关闭意味着WindowAdapter.windowClosed(WindowEvent)已调用 JFrame WindowListener 的方法。

这个线程 ( link ) 的解决方案似乎在 JFrame 不可见时返回,这是否包括 WINDOW_CLOSED 事件处理?

编辑:也许实现这个生命周期接口(interface)的解决方案:

public interface Lifecycle {

public void startup();

public void shutdown();

}

现在 Swing 接口(interface)类必须在 WindowEvent.WINDOW_CLOSED 的处理程序中调用主应用程序的 shutdown() 方法事件。

这样做可行吗?

最佳答案

尝试使用 Toolkit.getDefaultToolkit().addAWTEventListener()。如果您提供适当的事件掩码,您可以获得所需的事件。这没有订阅 JFrame 的特定实例。

关于Java Swing 应用程序生命周期问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7137905/

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