检查 JavaFX 平台是否正在运行

ker*_*000 8 java javafx

没有诸如javafx.application.Platform.isRunning().

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

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

这在测试设置中很有用。

如果我测试,我会遇到 java.lang.IllegalStateException: Toolkit not initialized

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

if(Platform.isRunning()){
    updateMessage("Doing work");
}
Run Code Online (Sandbox Code Playgroud)

Dav*_*ber 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>
Run Code Online (Sandbox Code Playgroud)

摇篮:

implementation("com.wedasoft:simplejavafxapplicationbase:1.7.0")
Run Code Online (Sandbox Code Playgroud)

文档:

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