用按钮关闭对话框

时间:2013-12-09 02:50:32

标签: java swing jframe jdialog windowlistener

我有一个调用新JDialog的JFrame,这个JDialog有一个关闭它的按钮。

当JDialog关闭时,应重新绘制JFrame。但是当我用按钮关闭JDialog没有任何反应时,当我用经典的“X”按钮关闭时就不会发生这种情况。

这是来自JFrame的windowListener:

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

            addNewMerma dialog = new addNewMerma(new javax.swing.JFrame(), true);
            dialog.addWindowListener(new java.awt.event.WindowAdapter() {
                @Override
                public void windowClosing(java.awt.event.WindowEvent e) {
                    repaintTable();
                }
            });
            dialog.setVisible(true);

}         

这里是来自JDialog中关闭JDialog的按钮的代码:

private void ButtonAddAndCloseActionPerformed(java.awt.event.ActionEvent evt) {  
            addMerma();                                           
            this.dispose();
}       
像我说的那样,监听器中的JFrame需要在JDialog关闭时捕获并重新绘制Jframe。但当我用按钮关闭时(ButtonAddAndClose)没有任何反应。

1 个答案:

答案 0 :(得分:0)

好的,我偶然找到了解决方案。我在按钮中添加了这段代码:

private void ButtonAddAndCloseActionPerformed(java.awt.event.ActionEvent evt) {  
        addMerma();    
        (this.getWindowListeners()[0]).windowClosing(null);                                       
        this.dispose();

}

这是解决方案,我不知道如果是正确但是工作jajaja,如果有人有同样的问题,我会留在这里。