如何在java桌面应用程序中停止无限循环以移动鼠标

埃斯特班·罗德里格斯

我正在尝试创建一个桌面程序来移动鼠标,直到我按下例如 java 中的字母“q”。我创建了一个窗口(JFrame),当我按下按钮时,鼠标开始移动。我的疑问与这部分有关:

while (true) {
        for (int j = 1500; j <1600; j++) {
            robot.mouseMove(j, 0);
            robot.delay(100);
        }
    }

如何通过按下一个字母来停止这个无限循环?

public void keyPressed(KeyEvent e) {
    if (e.getKeyCode() == KeyEvent.VK_Q) {
        System.exit(0);
    }
}

为什么这不起作用?(我需要按一个字母,因为鼠标在程序运行时无法使用)提前致谢。

用户2023577

首先,您可能不得不放弃事件处理程序。如果这个 while(true) 在 awt 事件队列上运行,你会占用整个 GUI,难怪它没有响应;在您从鼠标事件返回之前,不能触发其他事件。

你能提供更多的代码吗?这不足以解释这种行为。

您可能需要启动一个线程来执行此工作。

更新:

而不是同步调用您的 JavaRobot(); 方法,您需要在线程中运行它。用于测试的丑陋黑客版本:

(new Thread(() -> JavaRobot())).start();

更干净的版本可能会将线程保存在变量中,以便您可以使用另一个按钮中断它。如果您不想自己处理线程但仍然在线程中运行任务,您也可以对 executor services apis 感兴趣。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Java桌面应用程序中安全地实现SQL查询

来自分类Dev

如何在Windows7、8中设置Java应用程序的桌面图标?

来自分类Dev

如何在JAVA中为Web和桌面制作单个应用程序

来自分类Dev

如何编写可停止/中断无限循环Rails应用程序的Web按钮?

来自分类Dev

如何在OS X的虚拟桌面之间移动应用程序的窗口?

来自分类Dev

opa如何处理桌面和移动应用程序

来自分类Dev

如何在iOS应用程序中停止captureOutput

来自分类Dev

如何在iOS应用程序中停止captureOutput

来自分类Dev

如何在 iOS 应用程序中停止 GIF?

来自分类Dev

如何在其他应用程序中嵌入移动应用程序?

来自分类Dev

如何退出/中断控制台应用程序中的Windows消息循环以及Windows桌面应用程序的引用?

来自分类Dev

如何保护Firebase应用程序免受无限循环的影响?

来自分类Dev

如何保护Firebase应用程序免受无限循环的影响?

来自分类Dev

Qt桌面和移动应用程序

来自分类Dev

创建本机安装程序桌面应用程序时如何在包中包含Adobe Air

来自分类Dev

如何在Java中检测无限循环?

来自分类Dev

Angular 应用程序陷入无限循环

来自分类Dev

如何在桌面应用程序中使用测量协议

来自分类Dev

如何在CentOS上从KDE桌面安装应用程序

来自分类Dev

如何在桌面应用程序中使用zeroMQ

来自分类Dev

如何在JupyterLab中安全地停止无限循环?

来自分类Dev

使用axios时如何在JavaScript中停止无限循环?

来自分类Dev

如何在Node.js / Javascript中停止无限循环

来自分类Dev

如何在GitHub桌面应用程序中克隆私有BitBucket存储库

来自分类Dev

如何在基于WKWebView的桌面应用程序中显示检查器?

来自分类Dev

如何在桌面的应用程序快捷方式中添加图标

来自分类Dev

如何在桌面.NET应用程序中获取BLE广告回调?

来自分类Dev

如何在不同桌面环境的菜单应用程序中显示?

来自分类Dev

如何在dotnet桌面(Windows)应用程序中添加图标?

Related 相关文章

  1. 1

    如何在Java桌面应用程序中安全地实现SQL查询

  2. 2

    如何在Windows7、8中设置Java应用程序的桌面图标?

  3. 3

    如何在JAVA中为Web和桌面制作单个应用程序

  4. 4

    如何编写可停止/中断无限循环Rails应用程序的Web按钮?

  5. 5

    如何在OS X的虚拟桌面之间移动应用程序的窗口?

  6. 6

    opa如何处理桌面和移动应用程序

  7. 7

    如何在iOS应用程序中停止captureOutput

  8. 8

    如何在iOS应用程序中停止captureOutput

  9. 9

    如何在 iOS 应用程序中停止 GIF?

  10. 10

    如何在其他应用程序中嵌入移动应用程序?

  11. 11

    如何退出/中断控制台应用程序中的Windows消息循环以及Windows桌面应用程序的引用?

  12. 12

    如何保护Firebase应用程序免受无限循环的影响?

  13. 13

    如何保护Firebase应用程序免受无限循环的影响?

  14. 14

    Qt桌面和移动应用程序

  15. 15

    创建本机安装程序桌面应用程序时如何在包中包含Adobe Air

  16. 16

    如何在Java中检测无限循环?

  17. 17

    Angular 应用程序陷入无限循环

  18. 18

    如何在桌面应用程序中使用测量协议

  19. 19

    如何在CentOS上从KDE桌面安装应用程序

  20. 20

    如何在桌面应用程序中使用zeroMQ

  21. 21

    如何在JupyterLab中安全地停止无限循环?

  22. 22

    使用axios时如何在JavaScript中停止无限循环?

  23. 23

    如何在Node.js / Javascript中停止无限循环

  24. 24

    如何在GitHub桌面应用程序中克隆私有BitBucket存储库

  25. 25

    如何在基于WKWebView的桌面应用程序中显示检查器?

  26. 26

    如何在桌面的应用程序快捷方式中添加图标

  27. 27

    如何在桌面.NET应用程序中获取BLE广告回调?

  28. 28

    如何在不同桌面环境的菜单应用程序中显示?

  29. 29

    如何在dotnet桌面(Windows)应用程序中添加图标?

热门标签

归档