2017-02-13 62 views
1

我想在默认浏览器中打开来自我的JAVA代码的URL。以下是我的代码如果已经从java打开链接,请打开相同的浏览器选项卡

Desktop desktop = Desktop.getDesktop(); 
if(desktop != null){ 
     try { 
      desktop.browse(URI.create(Url)); 
     } catch (IOException err) { 
      err.printStackTrace(); 
     } 
    } 

但是每次它即使对于相同的URL也会打开新的选项卡。有什么办法可以限制这个吗?它应该打开相同的标签如果URI已经打开。我该如何做到这一点

+1

但是,我不认为这可能是不适当的方法,如果你为每个“URL”做它。因为可能有一个sceanrio,你需要在两个不同的tabs打开不同的屏幕相同的应用程序。如果在登录后输入登录URL,登录屏幕将按照指示被重定向到默认URL。那么可以告诉我你尝试接近这个逻辑的场景吗? –

+0

@srikanthr正在为我的应用程序加载手册页在浏览器中,如果已经打开,我不想在新浏览器中打开它。 – HardRocker

回答

0

API中没有什么比“启动默认浏览器并浏览给定的URL”更好的控件。

API的请求发送到本地桌面/窗口管理器,由于“默认浏览器”可以是几十个程序中的任何一个(甚至不存在),所以没有通知浏览器想要的方法如果它已经包含给定的URL,则匹配现有的选项卡/窗口。

对于通过进程间通信提供此类API的特定浏览器,您可能可以实现此目标,但它可能非常适合平台和浏览器。

您也可以使用用户界面测试工具进行调查。一个可能的例子是Selenium,但还有很多其他的例子。

+0

感谢您的反馈。但它不会是浏览器的具体情况,但我打开这个URL与默认浏览器可以是任何东西。当你说使用UI测试工具时,我也没有明白你的观点。我在我的Java桌面应用程序中使用上面提到的代码。 – HardRocker

相关问题