我有一个调用新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 :(得分:0)
好的,我偶然找到了解决方案。我在按钮中添加了这段代码:
private void ButtonAddAndCloseActionPerformed(java.awt.event.ActionEvent evt) {
addMerma();
(this.getWindowListeners()[0]).windowClosing(null);
this.dispose();
}
这是解决方案,我不知道如果是正确但是工作jajaja,如果有人有同样的问题,我会留在这里。