检查 JavaFX 平台是否正在运行

问题描述 投票:0回答:2

没有

javafx.application.Platform.isRunning()
之类的方法。

我可以通过其他方式检查平台是否已启动吗?

我想修改我的

javafx.util.concurrent.Task
类以仅在平台实际运行时调用
updateMessage()
等。

这在测试设置中很有用。

如果我测试,我会遇到

java.lang.IllegalStateException: Toolkit not initialized

我认为这可以通过类似的方法轻松避免

if(Platform.isRunning()){ updateMessage("Doing work"); }
    
java javafx
2个回答
0
投票

前言:

对于聚会来说太晚了,但我的这个图书馆完全消除了这个问题。

https://github.com/davidweber411/SimpleJavaFxApplicationBase

有关文档等更多信息,请查看主页

https://wedasoft.com/projects/simple-java-fx-application-base/

解决方案:

看看班级

SimpleJavaXTestBase

https://github.com/davidweber411/SimpleJavaFxApplicationBase/blob/master/src/main/java/com/wedasoft/simpleJavaFxApplicationBase/testBase/SimpleJavaFxTestBase.java

使用 Maven Central 中的我的库或将所需的类复制到您需要的项目中:

马夫:

<dependency> <groupId>com.wedasoft</groupId> <artifactId>simplejavafxapplicationbase</artifactId> <version>1.7.0</version> </dependency>
摇篮:

implementation("com.wedasoft:simplejavafxapplicationbase:1.7.0")

文档:

https://wedasoft.com/projects/simple-java-fx-application-base/sjfxab-version-1-7-0/#testing-suite


0
投票
你可以用类似的方法来避免这个问题

if (Window.getWindows().isEmpty()){ updateMessage("Doing work"); }


这可能不是最好的答案,但它有效:)

© www.soinside.com 2019 - 2024. All rights reserved.