System.exit(0);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);如题:我在推出GUI时使用那一个更好。还有我想知道它们有什么区别。请师兄师姐们指点。Thank~

解决方案 »

  1.   

    一个是关闭程序.另一个是关闭awt窗口的同时保证关闭程序.
    也就是说一个是直接关闭,另一个是通过awt窗口的winclosing事件关闭
      

  2.   

    你用setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)好了
    他确保System.exit(0)肯定被调用了。他是先关awt窗口,然后再关程序。
    如过你直接调用System.exit(0)的话关闭程序是关闭
    但是不能保证awt窗口也关闭了.
    System.exit(0)是只关程序不关awt窗口的。
      

  3.   

    如果你的程序中用到了awt窗口,比如dialog对话框,请求你输入的对话框等
    你就直接调用setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)就OK了
      

  4.   

    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    用这个好
      

  5.   

    我的理解:
    System.exit(0); 这个是虚拟机层次上的,结果是虚拟机退出,整个程序结束,当然窗口肯定也关掉了
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 来实现关闭frame,但不是结束程序,其中止的只是程序的主线程.
      

  6.   

    我看拉似乎setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 也是可以终止程序的!