我的问题涉及如何使用 Swing 处理同时发生的鼠标事件。
添加了 MouseMotionListener 和 MouseListener 以跟随 JPanel。
我有一个对象,其旋转根据鼠标指针位置的 x 和 y 坐标进行(由 MouseMotionListener 的 mouseMoved 方法实现)。
我还有一个 MouseListener,它根据实现的 mouseReleased() 方法执行其操作。
该对象根据 MouseMotionListener 整齐地旋转,但按下鼠标按钮时会出现问题。当鼠标移动时,旋转停止,显然 JPanel 现在正在等待执行 mouseReleased() 方法。
有什么想法可以使这些事件同时发生,以便根据鼠标指针坐标进行的旋转和根据 mouseReleased() 进行的操作可以同时执行而不会相互干扰?
最佳答案
一篇讨论 Swing 线程细节的旧文章:
http://www.javaworld.com/javaworld/jw-08-2007/jw-08-swingthreading.html?page=1
关于原因和方法值得一读。
关于java - Swing 中两个同时出现的鼠标监听器互相干扰,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8668748/