从JButton发送命令行命令?

时间:2016-05-19 08:35:47

标签: java eclipse swing user-interface

我想构建类似apache xampp控制面板的东西。我想创建自己的控制面板来启动/停止我的服务器。

我正在使用Eclipse GUI Builder,我尝试在线搜索有关此问题的帮助,但找不到任何内容。有人能为我提供一些帮助吗?

例如,通常当我启动服务器时,我会转到命令提示符,转到目录并输入run.bat。停止服务器时,我必须执行ctrl + c。

如何通过单击JButton(启动服务器)和另一个JButton(停止服务器)来实现此目的?

我的编码没有什么,因为它是默认的Eclipse Swing GUI生成的代码。

2 个答案:

答案 0 :(得分:4)

这取决于你的操作系统中的命令int runtime.exec方法,但在正常情况下你可以试试这个:

    JButton startServer = new JButton();
    startServer.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            Runtime runtime = Runtime.getRuntime();
            try {
                // Here exec your bat file
                runtime.exec("Path_To_Your_Bat_File");
            } catch (IOException e1) {
                e1.printStackTrace();
            }
        }
    });

    JButton stopServer = new JButton();
    stopServer.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            Runtime runtime = Runtime.getRuntime();
            try {
                //Here get your process id and kill it
                runtime.exec("Get_Process & Kill");
            } catch (IOException e1) {
                e1.printStackTrace();
            }
        }
    });

答案 1 :(得分:2)

Runtime rt = Runtime.getRuntime();
Process pr = rt.exec("COMMAND_HERE");

http://docs.oracle.com/javase/7/docs/api/java/lang/Runtime.html