首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >JAVA如何通过按下按钮关闭对话框

JAVA如何通过按下按钮关闭对话框
EN

Stack Overflow用户
提问于 2012-06-27 23:23:23
回答 1查看 2.7K关注 0票数 2

我有个AWT模态对话框

代码语言:javascript
运行
复制
public class d extends java.awt.Dialog {...

在对话框中,使用,我将对话框放入面板,然后按下按钮。我正试图通过按下按钮来关闭对话框。我对System.exit(0)不感兴趣。

netbeans生成器创建

代码语言:javascript
运行
复制
private void jButtonCloseActionPerformed(java.awt.event.ActionEvent evt){ 

我认为我应该在这个函数中调用dispose,但是当调用它时,它会处理对话框,但是对话线程永远不会结束。

默认情况下,当窗口关闭时,我可以使用以下处理程序:关闭按钮

代码语言:javascript
运行
复制
     dialog.addWindowListener(new java.awt.event.WindowAdapter() {
       @Override
        public void windowClosing(java.awt.event.WindowEvent e) {
           Window window = SwingUtilities.getWindowAncestor(e.getComponent());
           window.dispose();
        }
     });

而上面的工作很好,即螺纹端。

我可以在jButtonCloseActionPerformed中使用同样的方法,但我不知道如何获得窗口对象。

我怎样才能做到这一点?任何其他好的解决办法也非常受欢迎。

我将非常感谢你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2012-06-28 12:18:30

我认为最好的答案(简而言之)是使用以下代码

代码语言:javascript
运行
复制
Window window = SwingUtilities.getWindowAncestor(this);
window.dispose();

这在这里很重要。我试图通过从事件中获取父对象等来获取窗口对象。在WindowClosing的情况下,我确实可以获得窗口对象引用,但是如果一个按钮不能工作…然后我意识到我可以简单地提到这个。互联网上的大多数示例调用System.Exit(0),但是调用System.Exit(0)的IMHO在示例只调用的情况下可能是可以的,而不是在实际的应用程序中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11236133

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档