为什么整个对象都关闭了里面的函数还在运行,没有释放while(true)不是运行在JFrame的线程中的吧,你JFrame释放了但是你程序还有其他线程没结束那当然不会彻底停止。
你可以弄一个boolean代表程序是否在运行
比如volatile static boolean running = true;
然后你那个循环写成while(running)
然后你给JFrame添加个Listener,检测到退出时running = false就行了

解决方案 »

  1.   

    setDefaultCloseOperation(EXIT_ON_CLOSE)
      

  2.   

    DISPOSE_ON_CLOSE
    这个只是让窗口不显示,你需要exit,程序才退出
      

  3.   


    如楼上所说,setDefaultCloseOperation(DISPOSE_ON_CLOSE)只是释放掉UI组件,程序并没有退出。
    EXIT_ON_CLOSE 关闭界面的同时会退出当前运行的程序。
      

  4.   


    我想知道的就是这个。setDefaultCloseOperation(EXIT_ON_CLOSE)关闭程序我是知道的,不过我还有其他界面,不想一起关闭。问题我已经解决了,创建线程以后加了break就好了。