JavaFX:如何在没有Stage的情况下显示Alert进行测试?

时间:2017-05-16 18:24:21

标签: java user-interface exception javafx

我使用JavaFX作为GUI,等待某些用户的输入并尝试处理该输入。如果出现任何异常,则会打开javafx.scene.control.Alert以向用户显示异常。对该警报的调用是在处理异常的方法中完成的。

应该测试此方法:对于特殊输入,请检查是否抛出了正确的异常。实际抛出正确的异常 并且调用处理方法 ,但现在问题出现了:在测试用例中没有真正的应用程序正在运行且没有阶段创建。显然,由于这一点,Alert-dialog的创建引发了异常:

java.lang.IllegalStateException: Toolkit not initialized
at com.sun.javafx.application.PlatformImpl.runLater(PlatformImpl.java:273)
at com.sun.javafx.application.PlatformImpl.runLater(PlatformImpl.java:268)
at com.sun.javafx.application.PlatformImpl.setPlatformUserAgentStylesheet(PlatformImpl.java:550)
at com.sun.javafx.application.PlatformImpl.setDefaultPlatformUserAgentStylesheet(PlatformImpl.java:512)
at javafx.scene.control.Control.<clinit>(Control.java:87)
... 46 more

这导致测试失败,因为现在抛出了另一个不正确的异常。

所以:有没有办法在没有舞台的情况下展示警报?

0 个答案:

没有答案