小弟做了个小东西,运行一个java的exe,当关掉它时,这个exe还在后台运行。请教各位应该怎么样在关掉它时,让它在后台也停止运行。谢谢了。

解决方案 »

  1.   

    用System.exit(0)如果是用的JFrame,那用上这样一句也行,JFrameName.setDefaultCloseOperation(EXIT_ON_CLOSE);public void setDefaultCloseOperation(int operation)设置用户在此窗体上发起 "close" 时默认执行的操作。必须指定以下选项之一: DO_NOTHING_ON_CLOSE(在 WindowConstants 中定义):不执行任何操作;要求程序在已注册的 WindowListener 对象的 windowClosing 方法中处理该操作。 
    HIDE_ON_CLOSE(在 WindowConstants 中定义):调用任意已注册的 WindowListener 对象后自动隐藏该窗体。 
    DISPOSE_ON_CLOSE(在 WindowConstants 中定义):调用任意已注册 WindowListener 的对象后自动隐藏并释放该窗体。 
    EXIT_ON_CLOSE(在 JFrame 中定义):使用 System exit 方法退出应用程序。仅在应用程序中使用。 
    默认情况下,该值被设置为 HIDE_ON_CLOSE。更改此属性的值将导致激发属性更改事件,其属性名称为 "defaultCloseOperation"。 注:当 Java 虚拟机 (VM) 中最后一个可显示窗口被释放后,虚拟机可能会终止。有关更多信息,请参阅 AWT Threading Issues。 
    参数:
    operation - 用户关闭该窗体时应该执行的操作 
    抛出: 
    IllegalArgumentException - 如果 defaultCloseOperation 值不是上述有效值之一 
    SecurityException - 如果已指定 EXIT_ON_CLOSE 并且 SecurityManager 不允许调用者调用 System.exit
    另请参见:
    Window.addWindowListener(java.awt.event.WindowListener), getDefaultCloseOperation(), WindowConstants, Runtime.exit(int)System.exit(0)
    public static void exit(int status)终止当前正在运行的 Java 虚拟机。参数用作状态码;根据惯例,非 0 的状态码表示异常终止。 
    该方法调用 Runtime 类中的 exit 方法。该方法永远不会正常返回。 调用 System.exit(n) 实际上等效于调用:  Runtime.getRuntime().exit(n)
     
    参数:
    status - 退出状态。 
    抛出: 
    SecurityException - 如果安全管理器存在并且其 checkExit 方法不允许以指定状态退出。
    另请参见:
    Runtime.exit(int)