如何从Linux中的Java GUI启动外部应用程序?

时间:2011-07-13 09:26:48

标签: java process runtime desktop

我正在创建一个帮助人们学习中文的Java应用程序。我已经创建了一个Java GUI,但我正在努力研究如何在新窗口中创建一个启动外部应用程序的按钮。

我已经查找了有关进程,桌面和运行时的各种教程,但它们似乎都在处理控制台上的输出数据,我无法弄清楚如何将它们应用到这种情况。

任何帮助都将非常感谢!谢谢!

修改

所以我已将运行时代码合并到我的类中,我已经将它列出了我的文件的内容,但无法使用“/ home / kate / Desktop / PTAMM ./PTAMM来启动应用程序“或”./PTAMM / home / kate / Desktop / PTAMM“或”./ home / kate / Desktop / PTAMM PTAMM“(我在绝望中尝试了最后两个)。有什么建议?谢谢!

2 个答案:

答案 0 :(得分:6)

你去吧

Runtime.getRuntime().exec("command to launch executable");

查看

答案 1 :(得分:0)

  

我已经查找了有关进程,桌面和运行时的各种教程,但它们似乎都在处理控制台上的输出数据,

不,那是错的! Desktop.open(File) ..

  

启动关联的应用程序以打开该文件。

(强调我的)

因此Desktop.open(new File("word.doc"))可能会打开MS Word或Open Office Writer,而Desktop.open(new File("spreadsheet.xls"))可能会弹出OO Calc的MS Excel。

要使用Desktop类,请尝试File Browser GUI主题上的代码。


如果您决定使用Runtime。我建议:

  • 阅读&实施所有 When Runtime.exec() won't
  • 中显示的建议
  • 使用ProcessBuilder构建ProcessProcessBuilder甚至有一种方便的方法来合并输出流,使它们更容易“消费”。

您可能会在阅读该文章后得出结论,使用Desktop是更简单的选项。有许多陷阱和使用Process涉及的陷阱。 ;)