![](/img/trans.png)
[英]I want to kill/ close a particular app by pressing a button in my current app. How can I do this?
[英]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.