假设原来的窗口为f1,新建的窗口为f2
关闭第一个:f1.addWindowListener(new WindowAdapter() {
      public void windowClosing(WindowEvent ea ){
        f1.setVisible(false);
      }
    });

解决方案 »

  1.   

    你看一下windows的记事本
    他新建的时候就是在原来记事本的版面上清除所有内容而已
    而你实现的效果是新建的时候打开一个新的记事本面版
    这样就会产生,当你关闭主记事本的时候所有面版都会关闭
    如果你不想用楼上所说的setVisible(false)的话
    只能这样
    新建的时候用Runtime类的exec()方法再一次执行你的记事本程序!
    这样每个记事本就不会相互影响了