JFrame中的MouseEvents似乎非常不可预测



我正试图为我的游戏编写一个关卡创建器,你可以在其中拖动对象到所需位置,但我很难确定是否按下了鼠标按钮。

我使用MouseAdapter来侦听mouseClickedmouseReleased事件,但它们似乎不可预测地着火。通常情况下,程序不会记录鼠标被点击或释放,但偶尔会在不应该被触发的时候触发一个。SOE将在这里和那里被抛出,最终,它们将被反复抛出,直到程序终止。关于解决这个问题有什么建议吗?

我想你可能听错事件了。MOUSE_CLICKED表示MOUSE_PRESSED + MOUSE_RELEASED

我想你可能想要寻找MOUSE_PRESSED而不是点击。

参见MouseEvent的api获取更多详细信息:http://docs.oracle.com/javase/7/docs/api/java/awt/event/MouseEvent.html

另外,MOUSE_DRAGGED事件可能对您有些用处。

最新更新