java - 防止 robot.mouseMove 生成​​ MouseEvent?

标签 java awt mouseevent mousemove awtrobot

我有一个 3D 游戏,每次移动光标时,我都希望它重置到中间。问题是 robot.mouseMove() 调用 MouseEvent(它确实有意义)并重置位置,所以我无法旋转。

谢谢!

最佳答案

我更喜欢下面这样的代码:

component.removeMouseListener(...);
Robot.doSomething();
component.addMouseListener(...);

而不是设置标志。使用这种方法,管理监听器的代码位于代码中的一个位置。

如果你使用一个标志,你需要

  1. 定义标志变量,
  2. 设置/重置变量
  3. 测试变量

所以你最终会在类(class)的多个地方有代码。

编辑:

关于将机器人添加到事件队列末尾的好处。因此,然后我会将添加 MouseListener 的代码包装回 SwingUtilities.invokeLater() 中的组件

关于java - 防止 robot.mouseMove 生成​​ MouseEvent?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18881869/

相关文章:

java - JPanel 中的内容不会出现

java - 我应该显式处理 Graphics 对象吗?

javascript - 在悬停时添加和删除 css 类

wpf - 如果数据模板具有透明背景,如何捕获鼠标左键?

java - 从嵌入式 javaDB 迁移数据

java - 使用 Apache poi 时,ooxml-schemas-1.4.jar 和 poishadow-all.jar 中出现重复错误

java.lang.ArrayIndexOutOfBoundsException 对象数组

java - 找到 JFrame 之外的鼠标位置?

java - 如何在某些代码执行之间禁用 GC 或获取 GC 暂停时间?

javascript - 检测静止光标是否悬停在以前隐藏、现在可见的元素上