gpt4 book ai didi

multithreading - 定时器和javafx

转载 作者:行者123 更新时间:2023-12-02 04:11:40 24 4
gpt4 key购买 nike

我正在尝试编写一段代码,使用 javafx 使内容以预定但不规则的间隔显示在屏幕上。我尝试使用计时器( java.util ,而不是 javax.swing ),但事实证明,如果您在单独的线程中工作,则无法更改应用程序中的任何内容。(就像计时器)任何人都可以告诉我怎么做如果应用程序都是单独的线程,是否需要一个计时器来与应用程序交互?

最佳答案

您不需要 java.util.Timerjava.util.concurrent.ScheduledExecutorService 来安排 JavaFX 应用程序线程上的 future 操作。您可以使用 JavaFX Timeline 作为计时器:

new Timeline(new KeyFrame(
Duration.millis(2500),
ae -> doSomething()))
.play();

或者,您可以使用 ReactFX 中的便捷方法:

FxTimer.runLater(
Duration.ofMillis(2500),
() -> doSomething());

请注意,您不需要将操作包装在 Platform.runLater 中,因为它已经在 J​​avaFX 应用程序线程上执行。

关于multithreading - 定时器和javafx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56684186/

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