【问题标题】:Closing a dialog with a button使用按钮关闭对话框
【发布时间】:2013-12-09 02:50:31
【问题描述】:

我有一个调用新 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) 关闭时,什么也没有发生。

【问题讨论】:

  • 关闭关闭对话框后会发生什么?

标签: java swing jframe jdialog windowlistener


【解决方案1】:

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

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

}

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

【讨论】:

    猜你喜欢
    • 2015-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-15
    • 2015-02-12
    • 1970-01-01
    相关资源
    最近更新 更多