0
我们在运行于JRE 1.6.0_26的小程序中运行以下代码。Desktop.browse()打开多个窗口
Desktop.getDesktop().browse(new URI("www.google.com")
在某些Windows 7 64位,IE8机器上,此命令会打开两个窗口,但不会打开其他应该是相同设置的窗口。 有没有人有任何想法会导致这种情况?
我们在运行于JRE 1.6.0_26的小程序中运行以下代码。Desktop.browse()打开多个窗口
Desktop.getDesktop().browse(new URI("www.google.com")
在某些Windows 7 64位,IE8机器上,此命令会打开两个窗口,但不会打开其他应该是相同设置的窗口。 有没有人有任何想法会导致这种情况?
我强烈怀疑这只是一些编码粗心(我和其他任何人一样有罪)。
考虑下面的代码:
JButton myButton1 = new JButton("Click 1");
myButton1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Desktop.getDesktop().browse(new URI("www.google.com"));
}
});
JButton myButton2 = new JButton("Click 2");
myButton1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Desktop.getDesktop().browse(new URI("www.google.com"));
}
});
注意这里的错误吗?
其目的是为每个按钮分配一个动作,但由于在myButton2定义之后不小心复制/粘贴,我们错误地将第二个动作分配给myButton1。
现在会发生什么是当用户点击myButton1时,第一个动作将被调用,导致浏览器显示www.google.com显示,然后第二个动作将被调用,导致另一个选项卡在该窗口或整个其他窗口中(取决于您的浏览器设置)。
这甚至不是一个可编辑的陈述。为了更快地获得更好的帮助,请发布[SSCCE](http://sscce.org/)。 –
顺便说一句Applet也有['AppletContext.showDocument(URL,target)'](http://docs.oracle.com/javase/7/docs/api/java/applet/AppletContext.html#showDocument%28java.net。 URL,%20java.lang.String%29)。如果用户拥有插件2 JRE,那么您也可以使用[Java Web Start](http://stackoverflow.com/tags/java-web-start/info)并使用'BasicService'方法显示一个新页面。 –