当前位置: 首页 > 知识库问答 >
问题:

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

苍志文
2023-03-14

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

我希望我的控制线程等到我得到一个值回来(我已经单击了视图并处理了结果)。目前,我正在通过创建一个线程、运行一个要求它们单击的方法来执行此操作,然后进入一个当鼠标单击事件更改在time循环中使用的变量时终止的time循环。

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

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

共有1个答案

费和惬
2023-03-14

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

我希望我的控制线程等到我得到一个返回值...]

CountDownLatch、CyclicBarrier和FutureTask可能是可以解决你这个问题的类。这些的功能非常简单。它们有停止线程的功能,并在满足某些条件时释放线程。每个类的区别只是应用于终止和释放线程的语义。阅读每一个的文档,看看哪一个对你来说最舒服。

你也可以看看其他的研究来源。在我看来,世界上没有比Brian Goetz的《实践中的Java并发性》一书中的内容更好的研究来源了。我向你保证,如果你买了这本书(或者至少获得了关于这个主题的难以置信的知识),你将能够轻松地操纵线程。明确你不需要买这本书来解决你目前的问题。买这本书只是我的建议,让你对线程有更多的了解。您可能会通过查看我提到的同步线程的类的文档来解决问题。

祝你的项目好运

 类似资料:
  • 问题内容: 我正在开发一个Java应用程序来帮助构建硒测试,并且我想知道是否有可能强制该应用程序等待单击,然后在单击之后确定单击了html的哪个元素。 问候 问题答案: 回答您的问题: 如果可以迫使应用程序等待单击 :从技术上讲,的调用由最终用户控制,该最终用户还是脚本/程序的所有者。同样,在功能上,您的脚本/程序无需等待,但需要等待预期的 WebElement 可 交互 (即, clickabl

  • 我有一个动态加载的页面,其中包含一个按钮。我正在尝试等待selenium使用C#绑定点击按钮。我有以下代码: 不过这不管用。click事件永远不会被触发。selenium脚本不会抛出异常警告ID为“addInspectionButton”的元素不存在。它只是不能点击它。如果我加一根线。Sleep(3000)在wait语句和我获得按钮元素句柄的那一行之间。 我没有使用预期条件.元素在这里正确点击吗?

  • 我将测试一个网络应用程序。在我的表中有一个按钮可以选择所有条目。我尝试过: selenium单击按钮,但什么也没发生。(还有send_Keys(Keys.Return))应用程序是用GXT开发的,我发现按钮后面有很多javascript。是否有可能等待事件加载器准备就绪?在单击之前等待可以解决问题,但不是自动测试的解决方案。

  • 我初始化了一些元素,但不是我的锚窗格: 但是当我尝试单击MenuBar或List View时,它不起作用。例如,在这种情况下,我可以单击按钮(可能),因为它是我在AnchorPane构造函数中初始化的最后一个元素。我不能使用BorderPane或任何其他布局,因此我需要找到具有此配置的解决方案。这些是我的fxml文件: list.fxml 菜单栏。fxml rea.fxml 按钮fxml text

  • 我正在编写一个棋盘游戏,我需要检查玩家正在移动的敌人并提示进行攻击。但是,由于游戏是如何制作的,移动方法是在JavaFX应用程序线程上调用的,我希望能够提示用户是否要与敌人战斗。 我的对话框工作正常,使用等待和通知,在主线程上不工作,会导致程序崩溃,有人知道如何暂停这个线程的执行,直到用户单击其中一个按钮。 我为描述道歉,太晚了。 检查敌人的方法该方法检查敌人,如果用户选择是,则返回敌人。它运行在