2013-07-10 204 views
2

我想知道是否有标准方式在用户默认浏览器中打开URL。我一直在使用desktop.browse()方式,但经过一些测试后,我似乎无法在OSX上正常工作,而在Windows上正常工作。我对研究的尝试提出了大多数旧文章,所以我认为可能有一种我找不到的更现代的方法。理想情况下,会有一种方法可以适用于每个系统,但缺乏我可以随时按系统进行分支的方法。所以我的问题是这样的:在默认浏览器中打开URL

  • 有没有一种方法可以打开任何系统上的默认浏览器到特定的URL?
  • 如果不是,那么在OSX和Linux上执行此操作的最佳方法是什么?
+0

好吧,所以我决定去与Runtime.getRuntime()。exec(新字符串[] {“/ usr/bin/open”,url});为OSX。在附注中,如果有人想知道,Desktop.getDesktop()。browse(url))的原因;没有工作是因为这是一个使用AWT的JavaFX应用程序。我假设在大多数其他条件下,这种方法对任何系统都没有任何麻烦。 – SwR

回答

4

java.awt.Desktop是您正在寻找的课程。

import java.awt.Desktop; 
import java.net.URI; 

// ... 

if(Desktop.isDesktopSupported()) 
{ 
    Desktop.getDesktop().browse(new URI("http://www.example.com")); 
} 

这就是我会做的。回答来自这个网站:: How to open the default webbrowser using java

+0

对不起,如果我不清楚。我的问题是我已经在使用这种方法,但这似乎不适用于OSX,而​​它在Windows上完美运行。我会再次摆弄它,但在我尝试过的最后几次没有奏效。如果它应该在OSX上工作,我显然搞砸了。 – SwR

+0

我唯一能找到/想到的其他东西是 https://www.java.net//node/667183 而且那已经很旧了。 –