用按钮关闭对话框

问题描述:

我有一个调用一个新的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)没有任何反应。

+0

关闭关闭对话框时发生了什么? –

好的,我偶然发现了解决方案。我在按钮中添加以下代码:

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

}

那是解决办法,如果是正确的,但工程JAJAJA我不叩头,我如果有人有同样的问题在这里离开这个。