0

我正在使用 aJDialog获取付款信息​​,paymentAmount并由a和 aDate提交。JTextfielddatechooser.beans.DateChooserCombo

当用户关闭JDialog或单击时Cancel,关闭。JDialog但是当他们单击支付按钮并JDialog重新出现时,会显示以前提交的输入。

我想JDialog在它出现时成为默认状态。是否有默认方法可以做到这一点,或者我必须创建自己的重置方法?

4

2 回答 2

3

当您关闭对话框时,它不会被破坏。它会变得不可见,但它仍然包含关闭时的所有内容。

setVisible()如果应该再次显示对话框,您可以覆盖该函数并重新初始化它。

 @Override
 public void setVisible(boolean bVisible)
 {
     if(bVisible == false)
     {
         super.setVisible(bVisible);
         return;
     }

     initMyValues();
     super.setVisible(bVisible);
     return;
 }

或者,您可以创建一个WindowListener,然后您会收到有关窗口各种状态更改的通知。取决于什么更适合您的需求。WindowListener 不需要您创建一个单独的类,只需要覆盖setVisible(),但您必须添加接口所需的一些额外功能。

于 2013-06-15T14:04:41.867 回答
3

另一种解决方法是windowListener为您的对话框设置一个。

myDialog.addWindowListener(new WindowListener() {
            /*Implements over methods here*/
            @Override
            public void windowClosing(WindowEvent e) {
                //set default values here
            }});
于 2013-06-15T14:05:59.307 回答