gpt4 book ai didi

java - 在 Java Swing 中等待鼠标输入

转载 作者:行者123 更新时间:2023-12-01 06:59:54 25 4
gpt4 key购买 nike

我正在开发 Java Swing 应用程序。我有一个按钮,其操作在数据库上运行查询,然后绘制结果。这些命令是从“运行”按钮上的监听器执行的。据我了解,这意味着此时运行的线程来自EventQueue。

给定某些输入,我需要停止处理并等待用户单击绘图区域。我正在努力寻找一种方法来做到这一点。我已经查看了所有内容,但似乎找不到有效的解决方案。我尝试创建一个等待用户输入的新线程(我在此线程上调用 join )。问题是这使得前一个线程(来自 EventQueue)等待。由于某种原因,鼠标单击不会引起中断,因此鼠标单击永远不会被捕获。

任何帮助将不胜感激。提前致谢。

最佳答案

让 EventDispatcherThread 处理输入。相反,您生成的线程应该是进行计算的线程。我在一两年前构建了一个交互式 UI,做了类似的事情,这就是我完成此行为的方式。

本质上,您在 GUI 和数据处理线程之间创建了一个生产者/消费者模型。当输入被触发时,您将提供给消费者线程并恢复 Activity 。

关于java - 在 Java Swing 中等待鼠标输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1594851/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com