JavaFX-等待用户在元素上单击鼠标

JavaFX-等待用户在元素上单击鼠标,java,multithreading,javafx,mouseevent,wait,Java,Multithreading,Javafx,Mouseevent,Wait,我正在实现一个游戏,我想让玩家点击一个特定的视图 我希望我的控制线程等待,直到我得到一个值回来(我已经点击了视图并处理了结果)。目前,我正在创建一个线程,运行一个方法,让他们单击,然后进入一个while循环,当鼠标单击事件更改while循环中使用的变量时,该循环终止 我正在写一个游戏,我有一个线程不断接收事件。在一个特定的事件中,我想提示用户做出响应,但要做到这一点,我需要使用JavaFX线程(据我所知) 在JavaFX中有更好的方法吗?谢谢 JDK文档中有几个关于线程的“隐藏”工具可以帮助您解

我正在实现一个游戏,我想让玩家点击一个特定的视图

我希望我的控制线程等待,直到我得到一个值回来(我已经点击了视图并处理了结果)。目前,我正在创建一个线程,运行一个方法,让他们单击,然后进入一个while循环,当鼠标单击事件更改while循环中使用的变量时,该循环终止

我正在写一个游戏,我有一个线程不断接收事件。在一个特定的事件中,我想提示用户做出响应,但要做到这一点,我需要使用JavaFX线程(据我所知)

在JavaFX中有更好的方法吗?谢谢

JDK文档中有几个关于线程的“隐藏”工具可以帮助您解决此类问题。通常,当我们让一个例程代码等待一些可以继续的条件时,我们使用线程同步器

我希望我的控制线程等待,直到我得到一个值回来[…]

,并且可能是可以解决您的问题的类。这些功能非常简单。它们具有停止线程并在满足某些条件时释放线程的功能。这些类中的每一个的区别只是应用于终止和释放线程的语义。阅读每一个的文档,看看哪一个最适合你

你也可以看看其他的研究来源。在我看来,世界上没有比布莱恩·戈茨的《圣经》一书中的内容更好的研究来源了。我向你保证,如果你买了这本书(或者至少在这方面获得了令人难以置信的知识),你将能够轻松地操纵线程。明确你不需要买这本书来解决你目前的问题。买这本书只是我的建议,让你对线程有更多的了解。您可能会通过查看我提到的同步线程的类的文档来解决问题


祝你的项目好运

你的控制线程是什么?是您创建的某个线程还是JavaFX应用程序线程?如果它是您创建的线程,您能描述它的用途、生命周期以及工作方式吗?也许可以提供一个新的解决方案。(您可以编辑您的问题以更新它,而不是在评论中答复)。编辑了我的原始问题