setvisible(false)并不是实际意义上的关闭,他还驻留在内存中。你用的是System.exit(1)吧!这是结束所有。
你可以用:
     dispose();