当前位置: 首页 > 面试题库 >

JDialog setVisible(false)与dispose()

冯永长
2023-03-14
问题内容

在对话框上使用setVisible(false)并在以后重用它是否有意义,还是每次调用dispose()并创建新的JDialog更为安全。用setVisible(false)处理内存泄漏怎么办?

编辑:我的问题不是关于退出应用程序。有关以主框架为父框架并在应用程序生命周期中打开和关闭的对话框的更多信息。例如,假设我的应用程序大约有10个对话框,这些对话框每次打开时都会显示不同的数据。我应该重用实例并使用setVisible()还是应该每次创建一个新的Dialog并在关闭时将它们Dispose()。


问题答案:

我建议使用dispose()释放资源并释放内存。如果要再次显示该对话框,只需调用setVisible(true)

重要的是要注意,当处理完Java虚拟机(VM)中的最后一个可显示窗口时,VM可能会终止。有关更多信息,请参见AWT线程问题。



 类似资料:
  • 问题内容: 当我想阻止其他事件处理程序在某个事件被触发后执行时,可以使用两种技术之一。我将在示例中使用jQuery,但这也适用于纯JS: 1。 2。 这两种停止事件传播的方法之间是否有显着差异? 对我来说,比执行方法更简单,更短并且更容易出错。使用该方法时,您必须记住正确的大小写,括号等。 另外,我必须在回调中定义第一个参数才能调用该方法。也许,出于某些原因,我应该避免这样做并改为使用它?有什么更

  • 问题内容: 在JPA中,我什么时候使用属性和注释感到困惑。有什么区别? 问题答案: 是用于生成架构的指令。在类中生成的数据库列将在实际数据库中标记为不可为空。 是运行时指令。它所做的主要功能是与延迟加载有关。您不能延迟加载非集合映射的实体,除非您记得设置了optional = false(因为Hibernate不知道那里应该有一个代理还是一个null,除非您告诉它null是不可能的,否则它可以生成

  • 问题内容: 我想知道是否和相同。 例如,如果事件处理程序是使用旧模型添加的 }; 然后,阻止默认操作,例如。 如果事件处理程序使用添加,例如 ); 然后,不要阻止默认操作。 所有浏览器的行为都一样吗? 和之间还有更多区别吗? 在哪里可以找到一些有关行为的文档(我在MDN中找不到)? 问题答案: 的W3C文档对象模型事件规范在 _1.3.1。 事件注册接口_指出,EventListener中没有返回

  • 问题内容: 我有一个这样的代码,调用$ .ajax: 现在,该功能适用​​于Firefox以外的所有浏览器。firebug显示它正在从帖子中获取回复,但是对于某些未知错误,它没有显示数据。可能是什么问题? 问题答案: 此行为是设计使然。 永远不要 使用。 由于Javascript在UI线程上运行,因此请求将冻结浏览器,直到服务器答复为止。

  • 问题内容: 我在Eclipse中尝试了以下方法: :警告“死代码” :编译错误“无法访问的代码” 我想知道这种差异是否存在真正的“原因”。我已经找到了… …但是为什么不允许相同的调试目的? 问题答案: 在上可达代码JLS部分解释了理由。本质上,Java通常不应该像C常规那样使用条件编译,但是在某些情况下(例如调试,尤其是向后二进制兼容性),需要允许编译器完全剥离代码,因此特定的结构为此被允许。

  • 问题内容: 使用括号时,这些语句为什么能按预期工作: 但是 ,如果没有括号,它会返回吗? 问题答案: 基于有关操作符优先级的python 文档 : 请注意,比较,成员资格测试和身份测试均具有相同的优先级,并且具有“比较”部分中所述的从左到右的 链接 功能。 因此,实际上您有一个链接语句,如下所示: 您可以假定中心对象将在2个操作和其他对象之间共享(在这种情况下为False)。 并且请注意,对于所有