0

可能重复:
让 java gui 在 Web 浏览器中打开网页 - 这完全不是重复的。我希望能够在浏览器中引用一个选项卡,而不仅仅是启动浏览器。

我有一个桌面应用程序,它有一个按钮,该按钮带有一个打开具有特定 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());
}

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

4

2 回答 2

0

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

于 2012-06-20T18:46:50.167 回答
0

您可以以此为基础:

让java gui在网络浏览器中打开网页

以非操作系统特定的方式打开浏览器。

它可能不会让您对浏览器进行那种级别的控制。

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

于 2012-06-20T18:48:01.100 回答