单击关闭按钮时关闭cmd +框架

时间:2012-05-30 14:52:57

标签: java cmd frame

你好我有一个代码,当运行时打开cmd,然后打开框架。我希望一旦框架打开就关闭cmd,或者在用户关闭框架的同一时刻关闭cmd。这是我关闭框架时的代码。

frame = new JFrame("BrainSla");
frame.setLayout(new BorderLayout());
frame.setResizable(false);
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

这是主要代码:

public static void main(String args[]) {
    try {
        System.out.println("BrainSla - By Jannes Braet, Steven Brain, Wout Slabbinck.");
        nodeID = 10;
        portOff = 0;
        setHighMem();
        isMembers = true;
        signlink.storeid = 32;
        signlink.startpriv(InetAddress.getLocalHost());
        new Jframe(args);
        //instance = new client();
        //instance.createClientFrame(503, 765);
    } catch(Exception e) {
        e.printStackTrace();
    }
}

有人可以告诉我我该怎么办?

4 个答案:

答案 0 :(得分:0)

frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);更改为

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

一旦关闭框架,这将退出应用程序

答案 1 :(得分:0)

如果是'cmd',则指的是'命令行'或CLI。选项:

  1. 使用javaw代替java从bat文件(或类似的操作系统)启动它
    • 学习曲线低。
    • 不太专业。
  2. 让它成为一个可运行的Jar(双击打开)
    • 中等学习曲线。
    • 中等专业外观。
  3. 使用JWS启动它
    • 高学习曲线。
    • 非常专业的外观。

答案 2 :(得分:0)

如果从命令行运行,关闭命令行窗口将过早关闭应用程序。不知道在Windows上有什么方法可以做到这一点,但在Linux上你可以使用以下命令来执行此过程:

nohup java -jar myprogram.jar & 

答案 3 :(得分:0)

如果从Java应用程序中启动进程(例如,通过调用Runtime.exec()或ProcessBuilder.start()),那么您有一个有效的Process引用,并且您可以调用destroy()方法在Process类中杀死该特定进程。

但请注意,如果您调用的进程创建新的子进程,则可能不会终止这些进程(请参阅http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4770092)。

另一方面,如果你想要杀死外部进程(你没有从你的Java应用程序中产生),那么你可以做的一件事是调用O / S实用程序,它们允许你这样做。例如,您可以在Unix / Linux下尝试运行Runtime.exec()on kill命令并检查返回值以确保应用程序被杀死(0表示成功,-1表示错误)。但这当然会使您的应用程序平台依赖。