我们在JRE 1.6.0_26中运行的applet中运行以下代码。
Desktop.getDesktop().browse(new URI("www.google.com")
在某些Windows 7 64位IE8计算机上,此命令会打开两个窗口,但不能打开其他窗口,这些窗口应该是相同的设置。 有没有人知道会导致什么?
答案 0 :(得分:0)
我强烈怀疑这只是一些编码疏忽(我和其他人一样有罪)。
请考虑以下代码:
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的浏览器,然后将调用第二个操作,从而导致另一个选项卡该窗口或整个其他窗口(取决于您的浏览器设置)。