我有类似于以下的代码:
JComponent component = ...
component.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
final int button = e.getButton();
System.out.println("button = " + button);
}
});
我今天收到了一个崩溃报告,这是因为 e.getButton() 返回 0,即 NO_BUTTON。可能是什么原因?鼠标点击怎么可能没有按钮?
这发生在 Mac OS X 10.5.8 上的 Java 1.5.0_30 上。
有问题的代码已经投入生产 4 年,每天有数千名用户,这是该错误第一次出现在崩溃报告中。