gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 15:08:49 24 4
gpt4 key购买 nike

我正在实现一个游戏,我想要求玩家单击特定 View 。

我希望我的控制线程等待,直到我得到一个值(我已单击 View 并处理结果)。目前,我正在通过创建一个线程,运行一个要求它们单击的方法,然后输入一个 while 循环,当鼠标单击事件更改 while 循环中使用的变量时终止该循环。

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

在 JavaFX 中是否有更好的方法来做到这一点?谢谢!

最佳答案

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

I want my control thread to wait until I get a value back [...]

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

您还可以查看其他学习来源。 (在我看来)世界上没有比布莱恩·戈茨(Brian Goetz)所著的《Java Concurrency In Practice》一书中的内容更好的学习资源了。我向您保证,如果您购买这本书,您将能够轻松地操纵线程(或者至少获得有关该主题的令人难以置信的知识)。明确表示您不需要购买这本书来解决您当前的问题。购买这本书只是我的建议,让你对线程有更多的了解。您可能会通过查看我提到的同步线程的类的文档来解决您的问题。

祝您的项目顺利。 ;)

关于JavaFX - 等待用户在元素上单击鼠标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21612721/

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