小编Dre*_*eik的帖子

如何在 Stage.show() 之后运行函数?

我正在努力解决一个问题,即一段代码在初始化之前运行。

@FXML
public void Start(int pesel) throws IOException {
    klientPesel = pesel;
    root = FXMLLoader.load(getClass().getClassLoader().getResource("klientScene.fxml"));
    Main.mainStage.setTitle("Agencja Ubezpieczniowa - Agent");
    Scene scene = new Scene(root,800,600);
    Main.mainStage.setScene(scene);
    Main.mainStage.show();
    obtainKlient();
    setKlientLabels();
}
Run Code Online (Sandbox Code Playgroud)

问题是我有一个变量@FXML private VBox KlientInfoVBOX;,它在setKlientLabels()运行前没有初始化。我如何确保它setKlientLabels()会在之后运行Main.mainStage.show();

也许堆栈跟踪将有助于解决问题

Exception in thread "JavaFX Application Thread" java.lang.NullPointerException
    at app.KlientSearchController.setKlientLabels(KlientSearchController.java:69)
    at app.KlientSearchController.Start(KlientSearchController.java:51)
    at app.UserSceneController.StartKlientSearch(UserSceneController.java:87)
    at app.UserSceneController.lambda$wyszukajKlienta$0(UserSceneController.java:70)
    at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
    at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
    at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
    at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
    at …
Run Code Online (Sandbox Code Playgroud)

java javafx stage

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

java ×1

javafx ×1

stage ×1