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

Java 从桌面应用程序启动浏览器,java,windows,browser,java-5,Java,Windows,Browser,Java 5,可能重复: -这完全不是复制品。我希望能够在浏览器中引用选项卡,而不仅仅是启动浏览器 我有一个桌面应用程序,它有一个按钮,可以打开一个带有特定URL的新浏览器。每次我按下按钮,它都会打开一个新窗口/选项卡。如果窗口/选项卡已经打开并且URL相同,我希望它刷新窗口/选项卡,而不是总是打开一个新窗口/选项卡。启动初始窗口的代码非常简单: final String errMsg = "Error attempting to launch web browser"; String osName = Sy

可能重复:
-这完全不是复制品。我希望能够在浏览器中引用选项卡,而不仅仅是启动浏览器

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

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

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

您可以以此为基础:

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

它可能不会给你对浏览器的控制

您是否考虑过使用JeditorPane,或者如果您可能需要额外的javascript支持,包括javafx webview(基于webkit):

@plasma147-我应该提到我正在使用Java 5,所以这个解决方案对我来说不起作用。@plasma147它不是一个精确的dup,OP希望每次从Java GUI应用程序启动时都能刷新相同的浏览器选项卡。@plasma147顺便说一句,我也喜欢缓步动物,任何能在太空生存的动物都会得到我的投票:DAh,我想javafx集成不会与JavaS.E6一起工作。JEditorPane可以工作-您可以下载html并根据需要呈现它。渲染器不是很好,虽然我不确定渲染它自己将满足要求。我希望我们已经是Java 6了,但距离实现这一目标还有一年左右的时间:/