我有一个Java applet,它包含一个类似向导的表单,包含三个步骤。在最后一步,用户可以单击“完成”按钮。我希望该按钮能够使Web浏览器导航到特定的URL。
问题:有没有办法让浏览器导航到特定的网址,以便它可以在所有现代浏览器中使用?我的具体浏览器要求是FF3 +,IE7 +,Safari 3+和Opera 9+。我使用的是Java 1.5。
答案 0 :(得分:6)
您可以从applet获取applet上下文并调用showDocument(url)。
这将从当前页面导航到指定的URL:
getAppletContext().showDocument(url);
此外,您可以传递target参数。
要访问您可以使用的相对网址:
URL url = new URL(getCodeBase().getProtocol(),
getCodeBase().getHost(),
getCodeBase().getPort(),
"/next.html");
getAppletContext().showDocument(url);
自Java 1.1版以来,这些工作在每个主流浏览器中都有用。
答案 1 :(得分:1)
您可以在JavaScript中启动向导,并让applet在单击“完成”按钮后将执行流程返回给JavaScript调用者。一旦使用JavaScript,您就可以通过执行表单或更改window.location属性来导航到新位置。
在最糟糕的情况下,您可以检查LiveConnect的使用情况,但我会用10英尺的极点触碰它。
LiveConnect上的更新
原始的LiveConnect似乎受到在Windows上运行的浏览器的限制,并且可能仅适用于NN和IE。 Some of those bugs have been fixed recently,但浏览器兼容性仍将是一个问题。
答案 2 :(得分:0)
如果您使用的是Java 6及更高版本,请参阅Desktop API。这将推动浏览器。但是我不知道applet安全模型是否会干扰这一点。
除此之外,我已成功使用BrowserLauncher2。类似的警告也适用。
答案 3 :(得分:0)
String googleURL = "https://www.google.com/";
try {
java.awt.Desktop.getDesktop().browse(java.net.URI.create(googleURL));
}
catch(IOException ex) {
Logger.getLogger(UI.class.getName()).log(Level.SEVERE,null, ex);
}