java - Swing 中两个同时出现的鼠标监听器互相干扰

标签 java swing mouselistener

我的问题涉及如何使用 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/

相关文章:

java - JTable 将 JComboBox 和 JCheckBox 恢复为选择后的值

java - 井字游戏

java - 如何确定JNI(jogl)在运行时是否可用?

java - 通过 JNI 将 float[][] 传递给 C++ 的最简单方法

java - 尝试使用 MouseEvent 更改 JLabel

Java DefaultMutableTree 不兼容的类型

java - 实现 mouseClicked() 时出错

java - 单击时更改 JButton 颜色,未单击后重置

java - 这段 Java 代码中是否存在任何编程缺陷?

java - 在循环内命名字符串