从桌面应用程序启动浏览器

时间:2012-06-20 18:26:56

标签: java windows browser java-5

  

可能重复:
  Getting java gui to open a webpage in web browser - 这完全不重复。我希望能够在浏览器中引用选项卡,而不仅仅是启动浏览器。

我有一个桌面应用程序,其中包含一个操作按钮,可以打开一个带有特定URL的新浏览器。每次按下按钮,它都会打开一个新的窗口/标签。我希望它刷新窗口/选项卡,如果它已经打开并且URL是相同的,而不是总是打开一个新的。启动初始窗口的代码非常简单:

final String errMsg = "Error attempting to launch web browser";
String osName = System.getProperty("os.name"); 
try{ 
    if (osName.startsWith("Windows")) 
        Runtime.getRuntime().exec( "rundll32 url.dll,FileProtocolHandler " + "www.stackoverflow.com");
}catch(Exception e){
    JOptionPane.showMessageDialog(null, errMsg + "\n" + e.toString());
}

我想也许我可以命名窗口/标签,所以当代码启动时,它会尝试查找名称并在存在时刷新它。但我遇到麻烦找到这样的解决方案。另外,我目前的做法是否可以接受?

2 个答案:

答案 0 :(得分:0)

将Web服务器组件添加到您的应用程序中。然后启动一个浏览器,指向您的网络服务器生成的页面,并在点击按钮时使用AJAX刷新浏览器内容。

答案 1 :(得分:0)

您可以将此作为基础:

Getting java gui to open a webpage in web browser

以非特定于os的方式打开浏览器。

它可能无法为您提供对浏览器的控制级别。

您是否考虑过使用JeditorPane或者您是否需要额外的javascript支持,包括javafx webview(基于webkit): Integrating JavaFX 2.0 WebView into a Swing Java SE 6 Application