我有一个为我的孩子编写的 Java 程序,它允许他们用鼠标左键在 JPanel 上绘制一个圆圈,然后通过在他们创建的圆圈内单击鼠标右键来删除该圆圈。这是 MouseListener 的代码:
addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
switch (e.getButton()) {
case MouseEvent.BUTTON1:
addCircle(e.getPoint());
break;
case MouseEvent.BUTTON2:
// this does nothing
break;
case MouseEvent.BUTTON3:
removeCircle(e.getPoint());
break;
default:
// no default action
}
}
});
该程序在普通鼠标上运行良好,但在使用 MacBook 多点触控板时,四指滑动会引发 JavaNativeException:
java[15233:507] Lookup: Unhandled exception 'JavaNativeException' caught in __57+[LULookupDefinitionModule _focusTermUsingQueue:handler:]_block_invoke
我尝试包装通用异常,但 JavaNativeException 仍然通过。
这是否可以在没有第三方多点触控库的情况下解决?它不会终止程序,所以我的孩子不在乎。对我来说,这更像是一个学术问题。