【问题标题】:Running a .bat inside Java Swing GUI Not Working在 Java Swing GUI 中运行 .bat 不起作用
【发布时间】:2012-11-09 05:09:41
【问题描述】:

使用以下代码,我可以执行 .bat 文件(没有 GUI,只有以下几行)。但是,当我将它作为按钮的 ActionListener 方法(它是一个 Java Swing 应用程序)添加时,.bat 文件永远不会执行。有什么想法吗?

Runtime runtime = Runtime.getRuntime();
try {
    Process proc = runtime.exec("cmd /c start C:\\Users\\someName\\Desktop\\test.bat");
} catch (IOException e1) {
    e1.printStackTrace();
}

【问题讨论】:

  • 欢迎来到 SO。请阅读FAQHow to Ask,了解编写好的 SO 问题的技巧。你怎么知道它不运行?您是否确认单击按钮时正在执行您的代码?您没有提供任何人可以用来帮助您的信息。
  • “有什么想法吗?” 很多,但如果没有上下文,这些对你没有任何用处。您可能想为我们提供更多有关您的实际问题的上下文和示例代码
  • 1) 浏览exec tag Wiki 链接的文章并实施所有建议。这可能会导致直接问题的解决方案,但也.. 2) 使用ProcessBuilder 可以更容易地实现第 (1) 点和.. 3) 将参数作为数组提供。
  • 你知道ActionListener被执行了吗?

标签: java swing user-interface exec runtime.exec


【解决方案1】:

我也遇到同样的错误。

你可以这样使用

public void actionPerformed(java.awt.event.ActionEvent evt) {

            File file = new File("filename.bat");
            try {
                Desktop.getDesktop().open(file);
                } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

            jButton1ActionPerformed(evt);
        }

【讨论】:

    猜你喜欢
    • 2019-01-17
    • 2018-03-28
    • 2020-02-07
    • 1970-01-01
    • 1970-01-01
    • 2016-09-01
    • 1970-01-01
    • 2015-10-13
    相关资源
    最近更新 更多