在不同的浏览器java swing中打开一个链接

时间:2012-06-07 12:37:23

标签: java swing browser

如何在java swing中打开不同浏览器中的链接?

我读过这篇文章: http://www.roseindia.net/tutorial/java/swing/openBrowser.html

这是在我的默认浏览器中打开的。但是当我想在不同的浏览器中打开时

它给出了一条错误消息:“无法运行程序”其中“:CreateProcess error = 2,系统找不到指定的文件 “

1 个答案:

答案 0 :(得分:8)

一般来说,要在用户的默认浏览器中打开链接,您应该使用更现代的方法:

String url = "www.stackoverflow.com";
Desktop desktop = java.awt.Desktop.getDesktop();
desktop.browse(url);

无需弄乱你正在运行的操作系统(正如您的链接示例所尝试的那样)。最好让java.awt.Desktop负责寻找合适的浏览器或应用程序来打开网址(有关详细信息,请参阅documentation)。

还有一部分API可以优雅地处理权限和“不寻常”的操作系统设置。如果您的代码可能在受限制的安全策略下运行,或者在可能没有浏览器的平台上运行,那么您可以提前检查,而不是等待browse调用中的异常。

// check if java.awt.Desktop is available on the current platform
java.awt.Desktop.isDesktopSupported();

// check the current platform and security policy will let you browse to a url
Desktop desktop = java.awt.Desktop.getDesktop();
desktop.isSupported(Desktop.Action.BROWSE);