向Layouts添加标签时出现ExceptionInInitializerError

时间:2018-05-31 20:21:57

标签: java exception javafx

今天我有一些东西,这应该是一项常见的任务,但不知怎的,我得到了它的例外。 我有以下代码:

public class ExampleScene extends Scene {

   public ExampleScene(Parent parent) {     
       super(parent,Variables.width,Variables.height);
   }

   public static Parent fill() {        
       HBox gp = new HBox();
       gp.getChildren().add(new Label("hi"));
       return gp;
   }
}

我这样称呼他们:

Parent par = ExampleScene.fill();
ExampleScene example = new ExampleScene(par); 

但是这会产生以下异常:

Exception in thread "main" java.lang.ExceptionInInitializerError
    at de.rrcomtech.basicgui.test.ExampleScene.fill(ExampleScene.java:20)
    at de.rrcomtech.basicgui.test.startASimpleWindow.main(startASimpleWindow.java:18)

Caused by: java.lang.IllegalStateException: Toolkit not initialized
    at javafx.graphics/com.sun.javafx.application.PlatformImpl.runLater(PlatformImpl.java:396)
    at javafx.graphics/com.sun.javafx.application.PlatformImpl.runLater(PlatformImpl.java:391)
    at javafx.graphics/com.sun.javafx.application.PlatformImpl.setPlatformUserAgentStylesheet(PlatformImpl.java:673)
    at javafx.graphics/com.sun.javafx.application.PlatformImpl.setDefaultPlatformUserAgentStylesheet(PlatformImpl.java:635)
    at javafx.controls/javafx.scene.control.Control.<clinit>(Control.java:99)
    ... 2 more

标记的行是

gp.getChildren().add(new Label("hi"));

我无法理解代码中的错误在哪里。

0 个答案:

没有答案