Javafx-缓慢声明/启动其余代码(值)

时间:2019-04-04 14:17:32

标签: java javafx

你好,我对这段代码有疑问,我不明白为什么即使在早于ErrorHandler声明之后就启动并定义了launchData的情况下,都在ErrorHandler之后启动了launchData。请参阅输出和代码。

public class Controller implements Initializable {       
    public ErrorHandler errorHandler;

    @FXML
    public VBox bottomVbox;

 public void launchData() {
       // DragResizer.makeResizable(sqlTabPane);
       // DragResizer.makeResizable(csvTabPane);
      //  DragResizer.makeResizable(tableTabPane);

      Main.getPrimaryStage().widthProperty().addListener((arg,oldVal,newVal) -> {
            HBox.setPrefWidth((Double) newVal);
            upperPanelHBox.setPrefWidth((Double) newVal);
            bottomVbox.setPrefWidth((Double) newVal);
            System.out.println("AFTER RUNNING LAUNCH: " + bottomVbox.getPrefWidth());
        });

  @Override
    public void initialize(URL location, ResourceBundle resources) {

        launchData();
        errorHandler = new ErrorHandler(bottomVbox);
...
}

ErrorHandler类:

public class ErrorHandler {
   TextArea textArea;
    public ErrorHandler(VBox vBox) {
   //     vBox.getChildren().a
        System.out.println("VBOX WIDTH AFTER IMPLEMENTING ERRORHANLDER: " + vBox.getPrefWidth());
...
}

输出:

  • 实施错误处理后的VBOX宽度:-1.0
  • 启动后:1042.0

有人知道为什么以这种方式加载吗? 我期望:  -实施错误提示后的VBOX宽度:1042.0  -启动后:1042.0

0 个答案:

没有答案