【问题标题】:open a link in different browser java swing在不同的浏览器中打开链接 java swing
【发布时间】:2012-06-11 12:21:16
【问题描述】:

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

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

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

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

【问题讨论】:

  • 只是关于您的异常的线索 - 'which' 是用于搜索您的路径的 *nix 命令行工具。所以你的示例代码认为你在 *nix 机器上运行......

标签: java swing browser


【解决方案1】:

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

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

无需纠结于您正在运行的操作系统(正如您链接的示例所尝试的那样)。最好让java.awt.Desktop 负责找到合适的浏览器或应用程序来打开 URL(有关详细信息,请参阅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);

【讨论】:

  • 通过这样做,您将使用默认浏览器打开链接,这是该系统的用户想要使用的浏览器
猜你喜欢
  • 2023-03-03
  • 2013-08-01
  • 1970-01-01
  • 2012-02-21
  • 2012-12-15
  • 1970-01-01
  • 2013-05-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多