java - JDialog setVisible(false) vs dispose()

标签 java swing jdialog

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

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

最佳答案

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


请务必注意,当 Java 虚拟机 (VM) 中的最后一个可显示窗口被处理掉时,VM 可能会终止。见 AWT Threading Issues了解更多信息。

关于java - JDialog setVisible(false) vs dispose(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7256606/

相关文章:

java - 向 JTable 添加多行

java - 如何确定在哪个屏幕上显示 JDialog

java - JDialog WindowOpened 事件仅触发一次

java - 使用GridLayout创建战舰程序时遇到问题

java - GetStringUTFChars 及其字符串复制行为

java - Java中递归判断两个数组是否相互排列

java - 在 Java 中执行之前让单个 if 语句等待?

java - 如何制作搜索按钮 Action 事件?

java - 在 try block 中放置 JDialog,然后在匹配的 finally block 中继续执行代码是否安全?

java - 如何在浏览器中查看 HTTP POST/GET 响应?