繁体   English   中英

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

[英]JAVA AWT how can I close dialog by pressing a button

我有一个AWT模式对话框

public class d extends java.awt.Dialog {...

在对话框框架上,使用netbeans gui设计器,我先放置对话框,然后放置面板,然后放置按钮。 我试图通过按按钮关闭对话框。 我对System.exit(0)不感兴趣。

netbeans生成器已创建

private void jButtonCloseActionPerformed(java.awt.event.ActionEvent evt){ 

我认为我应该在该函数中调用Dispose,但是当调用它时,它会布置对话框,但对话框线程永远不会结束。

当窗口默认关闭对话框关闭按钮时,我有以下处理程序工作


     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中使用相同的方法,但是我不知道如何获取窗口对象。

我该如何实现? 任何其他好的解决方案也非常受欢迎。

非常感谢您的帮助。

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

Window window = SwingUtilities.getWindowAncestor(this);
window.dispose();

这一点很重要。 我试图通过某种方式从事件等中获取父对象来获取窗口对象。在WindowClosing的情况下,我确实可以通过这种方式获取窗口对象的引用,但是在按钮不起作用的情况下……那么我意识到我可以简单地参考这个 Internet上的大多数示例都调用System.Exit(0),但IMHO调用System.Exit(0) 在示例的情况下可以,而在实际应用中则不能。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM