这个相当疯狂:
我有一个客户复制bug的AppSight记录(对于不熟悉的人来说,这是他们所做的记录,包括键盘/鼠标输入+网络流量等)。基本上,我们在屏幕上列出了一系列项目,jcheckbox在左侧。我们为jpanel准备了一套鼠标测试器,看起来像这样:
private MouseAdapter createMouseListener() {
return new MouseAdapter(){
public void mousePressed( MouseEvent e ) {
if( e.getComponent() instanceof JCheckBox ) {
// Do stuff
}
}
};
}
根据记录,它们单击其中一个复选框的正上方似乎非常强烈。在那之后,我相信这个听者被炒鱿鱼了,“做事情”的障碍也发生了。但是,它没有选中该框。用户随后看到该框未选中,因此单击了该框。这导致“做事情”块再次触发,从而撤销了它第一次做的事情。这一次,复选框被选中。因此,用户认为该框是选中的,看起来是选中的,但是我们的客户认为该框是未选中的,因为它被单击了两次。
这有可能吗?在我的生活中,我不能复制它,也看不到它是如何可能的,但是基于记录和客户机发送到服务器的数据,我看不到任何其他的逻辑解释。
任何帮助、想法和/或想法都将非常感谢。