Java Swing应用程序生命周期问题
我有一个Java应用程序,用于启动Swing用户界面。接口是一个带有封装JFrame实例的类。问题是应用程序分配了一些资源,Swing接口使用这些资源,但是应用程序关闭了资源,而不是用户界面 如何实现主应用程序在关闭完整的Swing接口时收到通知,或者Swing接口的开始被阻塞,直到关闭为止。Closed表示已调用JFrame WindowListener的方法 这个线程()的解决方案似乎在JFrame不可见时返回,这是否包括Java Swing应用程序生命周期问题,java,swing,Java,Swing,我有一个Java应用程序,用于启动Swing用户界面。接口是一个带有封装JFrame实例的类。问题是应用程序分配了一些资源,Swing接口使用这些资源,但是应用程序关闭了资源,而不是用户界面 如何实现主应用程序在关闭完整的Swing接口时收到通知,或者Swing接口的开始被阻塞,直到关闭为止。Closed表示已调用JFrame WindowListener的方法 这个线程()的解决方案似乎在JFrame不可见时返回,这是否包括窗口关闭事件处理 编辑:也许这将是实现此生命周期界面的解决方案: pu
窗口关闭事件处理
编辑:也许这将是实现此生命周期界面的解决方案:
public interface Lifecycle {
public void startup();
public void shutdown();
}
现在,Swing接口类必须在事件处理程序中调用主应用程序的shutdown()
方法
这样做是否可能并且是一种好的做法?尝试使用Toolkit.getDefaultToolkit().addAWTEventListener()
。如果提供适当的事件掩码,则可以获得所需的事件。这不需要订阅JFrame的特定实例 方法应如下所示
- 资源关闭应引发一个事件
- 封装JFrame的类应该侦听资源关闭事件
- 侦听器应该调用JFrame.setEnabled(false)方法使其禁用
具有JFrame的类不知道如何关闭资源,因为关闭此JFrame将触发关闭资源。Stefan(关于我的问题写得如此含糊不清)也许你已经半途而废了