JDialog setVisible(false) 与 dispose()

2024-01-07

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

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


我建议使用dispose() http://download.oracle.com/javase/6/docs/api/java/awt/Window.html#dispose%28%29释放资源并释放内存。如果您想再次显示该对话框,只需调用setVisible(true).


需要注意的是,当 Java 虚拟机 (VM) 内的最后一个可显示窗口被处理后,VM 可能会终止。看AWT 线程问题 http://download.oracle.com/javase/6/docs/api/java/awt/doc-files/AWTThreadIssues.html#Autoshutdown了解更多信息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JDialog setVisible(false) 与 dispose() 的相关文章

随机推荐

  • 如何将 DbSet 转换为 List

    鉴于以下简化的实体框架 6 上下文 我尝试使用实体填充列表 但在如何通过反射进行转换 我相信 方面遇到问题 public class FooContext DbContext public virtual IDbSet
  • NSSharingService 用于发送电子邮件并读取电子邮件正文

    我正在使用 NSSharingService 在邮件应用程序中打开一个电子邮件撰写窗口 NSSharingService sharingService NSSharingService sharingServiceNamed NSShari
  • jQuery Mobile 响应式面板和文本区域

    我有 jQuery Mobile 应用程序http gudulin ru test problem html http gudulin ru test problem html 页面加载后左侧面板打开 my panel panel open
  • 在 for 循环内分配变量

    我正在尝试一个小代码 for i 0 i lt 2 i do p i pra i done 预期输出是 必须分配变量 p0 pra0 p1 pra1 但 bash 将此作为命令 并且输出为 p0 pra0 command not found
  • 检测 Android v2 地图何时加载

    我正在编写一个应用程序 当用户按下按钮时 它会拍摄某个区域周围的 9 个地图快照 在循环中 使用它来移动和保存 map moveCamera CameraUpdateFactory newLatLngZoom new LatLng mSta
  • gpg2 导入 gpg1 密钥失败(gpg 2.1.15、Ubuntu 17.10)

    当我尝试使用 gpg2 导入导出良好的 gpg1 密钥时 公钥导入工作正常 gpg import path to publickey gpg gpg directory home me gnupg created gpg new confi
  • 如何使用使用 Java 11 的最新 SonarQube 免费版本分析 Java 8 代码? [复制]

    这个问题在这里已经有答案了 我已经使用其配置中指出的 Java 11 安装了最新版本的 SonarQube 即wrapper config 我读到它甚至可以分析用 Java 8 编写的代码 但我收到以下异常 错误 未能执行目标 org so
  • iOS 以编程方式取消 TouchID 身份验证对话框

    是否可以在之后以编程方式取消 TouchID 警报对话框LAContext evaluatePolicy称呼 如果是 怎么办 并非 Apple 发布的每个 API 都会进入developer apple com 或 Xcode 的文档查看器
  • 合并 data.frame 中的两行

    如同合并一个 data frame 中的行 https stackoverflow com questions 33285663 merge rows in one data frame and 当行不相交且包含空值时 将两行合并到一个数据
  • JPQL 类似 不区分大小写

    我想按名称搜索用户表中的数据 不区分大小写 Repository public interface UserRepository extends JpaRepository
  • Play 框架:重定向到带有参数的控制器方法

    我正在使用 PLAY 框架 2 2 1 构建一个 Web 应用程序 并尝试在地址栏中显示所请求站点的所有可用 http get 查询参数 甚至是请求中未设置的参数 在以下情况下 并非所有 http get 参数都已设置 我想使用默认值添加未
  • 如何在 Erlang 中同步使用端口?

    我想对 Erlang 中的端口进行同步调用 也就是说 将一些输入发送到通过端口连接的正在运行的操作系统进程 并直接获取其输出 而不是使用消息 有一个port call据说可以做到这一点的函数 然而 文档 https www erlang o
  • std::ifstream 明显比 FILE 慢吗?

    我被告知我的库比应有的速度慢 解析特定文件 文本文件 大小 326 kb 的速度慢了 30 倍以上 用户建议这可能是我正在使用std ifstream 大概不是FILE 我不想盲目重写 所以我想我应该先检查这里 因为我的猜测是瓶颈在其他地方
  • 使用trace显示racket中的程序

    我一直在完成 SICP 的最后几个练习第 1 章 其中几个练习使用高阶函数 目前 我正在尝试调试 1 45 解决方案中的一个问题 该问题引发了元数不匹配 产生误差的函数是对定点函数求解器两次应用平均运算的结果 这将使我的调试工作更加努力a
  • 是否可以在 Spring Boot 中在运行时构建自定义查询?

    这就是我正在努力做的事情 我有一个实体 Entity public class JobEntity Id GeneratedValue private Long id Enumerated EnumType STRING private P
  • 如何在 bash 的别名中包含环境变量?

    我对 bash 很陌生 我想包含一个 bash 别名的环境 我想做类似以下的事情 alias foo bar baz 这样我就可以做类似以下的事情 gt baz 40 gt foo 并且 foo 将扩展为命令bar 40 目前 上面的方法不
  • 无法在 codeigniter 中发送 AUTH LOGIN 命令

    每次我尝试发送电子邮件时都会收到一堆错误 hello The following SMTP error was encountered Failed to send AUTH LOGIN command Error from The fol
  • 在Python中寻找跨平台的类似rsync的功能,例如rsync.py

    我正在用 python 实现备份脚本 我正在努力保持跨平台 我听说有一个基于 python 的 rsync 实现 http pypi python org pypi rsync py http pypi python org pypi rs
  • 如何优雅地将“嵌套”哈希符号化_keys

    考虑以下代码 hash1 one gt 1 two gt 2 three gt 3 hash2 hash1 reduce h k v h merge k gt hash1 hash3 hash2 reduce h k v h merge k
  • JDialog setVisible(false) 与 dispose()

    在对话框上使用 setVisible false 并稍后重用它是否有意义 或者每次调用 dispose 并创建一个新的 JDialog 更安全 setVisible false 的内存泄漏怎么办 编辑 我的问题并不是关于退出应用程序 有关以