我有一个与Java插件交互的Java Applet,用于在命名浏览器窗口中显示文档(只是一个URL):
public class TestApplet extends Applet {
@Override
public void init() {
super.init();
final JButton showButton = new JButton("Show Google!");
showButton.addActionListener(new AbstractAction() {
public void actionPerformed(ActionEvent e) {
try {
getAppletContext().showDocument(new URL("http://google.com"), "Some Window Title");
} catch (MalformedURLException e1) {
e1.printStackTrace();
}
}
});
add(showButton);
}
}
这在历史上有效,但从Java 7和Java 6u27开始,窗口无法在Internet Explorer中打开(在IE 8中测试)。如果我使用_blank
作为窗口标题(目标)而不是Google
,则窗口会正确打开(尽管每次都在新窗口中)。
我已经找到了针对6u27修复的错误:
还有其他人经历过同样的行为吗?你找到了解决方法(除了使用“_blank”)吗?
更新了示例。我实际上并没有使用“Google”作为目标,我正在使用“Some Window Title”(对不起!)。看起来这个问题对于名称中带有空格的目标来说是唯一的。
答案 0 :(得分:1)
看起来这个问题对于名称中包含空格的目标来说是唯一的。
两种可能的解决方案:
答案 1 :(得分:1)
尝试使用此代码,它应该可以正常工作。
Desktop desktop = Desktop.getDesktop();
desktop.browse(new URI(info));