我有个AWT模态对话框
public class d extends java.awt.Dialog {...
在对话框中,使用,我将对话框放入面板,然后按下按钮。我正试图通过按下按钮来关闭对话框。我对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中使用同样的方法,但我不知道如何获得窗口对象。
我怎样才能做到这一点?任何其他好的解决办法也非常受欢迎。
我将非常感谢你的帮助。
发布于 2012-06-28 04:18:30
我认为最好的答案(简而言之)是使用以下代码
Window window = SwingUtilities.getWindowAncestor(this);
window.dispose();
这在这里很重要。我试图通过从事件中获取父对象等来获取窗口对象。在WindowClosing的情况下,我确实可以获得窗口对象引用,但是如果一个按钮不能工作…然后我意识到我可以简单地提到这个。互联网上的大多数示例调用System.Exit(0),但是调用System.Exit(0)的IMHO在示例只调用的情况下可能是可以的,而不是在实际的应用程序中。
https://stackoverflow.com/questions/11236133
复制相似问题