第一个问题:
通过JDialog类的子类建立一个对话框,此对话框依附于主框架frame,对话框上有个“关闭”按钮,点击此按钮后对话框就关闭,但要求frame仍然运行,我该用哪个函数来完成这个操作?
第二个问题:
建立一个对话框后,为了避免重复建立,我用一个static int flag来进行计数,打开对话框则flag++;关闭对话框则flag--。 以后,如果再想打开对话框则必须是flag==0,否则说明对话框已经存在,则不打开。现在的问题是,JDialog的对话框默认情况下点击右上角那个“X”会自动关闭,那么在这种情况下我的flag该如何计数呢?

解决方案 »

  1.   

    使用dispose()关闭Dialog
    每点击关闭按钮调用dispose,并且flag--;试一下。
      

  2.   

    第一,java中只有包,类,方法,没有函数。你可以用hide()方法将其隐藏起来!第二,我觉得可以当调用打开方法的时候,立马给flag赋值1,调用关闭方法的时候再赋值0就可以了!
      

  3.   

    re:但是右上角的“X”能设定鼠标监听吗?
    this.addWindowListener(new WindowAdapter() {
    public void windowClosing(WindowEvent evt){
    SoundOperation frame=(SoundOperation)evt.getSource();
    frame.dispose();
    }
    });如此这般就可以了!
      

  4.   

    1、System.exit(0);
    2、this.close();
    3、上面所说
      

  5.   

    如果是模式对话框的话,根本就不用监听数量了
    另外,楼上的,有close这个方法吗?