好!感谢各位的支持,我把部分代码贴出来.
一菜单项(记为M1)的事件处理函数代码为:
void jMenuItem4_actionPerformed(ActionEvent e) {
  InputNewContract incontract=new InputNewContract(this,"",true);
  incontract.setTitle("填写新合同信息");
  incontract.setSize(540,520);
  incontract.setLocation(200,200);
  incontract.show();  }
InputNewContract是一个关于输入合同信息的对话框类(把该对话框记为A),按钮"退出"的事件处理函数为:
//******************当用户点击“退出”时,就将该对话框隐藏
  void jButton3_actionPerformed(ActionEvent e) {
   hide();
  }
上述代码执行操作有:点击M1,弹出对话框A,点击A上的"退出"按钮,执行退出功能.
类似有一菜单M2,点击它便弹出对话框B,B中有一按钮"重新签订",作用是弹出对话框A,其事件处理函数为:
//************事件处理,重新签定合同*******************************************************
  void jButton3_actionPerformed(ActionEvent e) {
    InputNewContract incontract=new  InputNewContract();
     incontract.setTitle("填写新合同信息");
     incontract.setSize(540,520);
     incontract.show();  }
这个时候弹出的对话框A后,点击A上的"退出"按钮或者其他按钮,均不能执行相应功能.
请问如何解决这个问题.

解决方案 »

  1.   

    A退出时不要隐藏,试试 this.dispose();
      

  2.   

    henryqqq(亨利) 是说用this.dispose();来代替hide();吗?
      

  3.   

    哈哈,这个问题我同学帮我解决了.只是将
    InputNewContract incontract=new  InputNewContract();
    改为:
    InputNewContract incontract=new  InputNewContract(new JFrame() ,"填写合同信息" ,true) ;就行了.哈哈哈哈