首页 > 解决方案 > 我的 javafx 程序中的这个语句导致了一个空指针异常,我不知道为什么

问题描述

import javafx.application.*;
import javafx.geometry.*;
import javafx.scene.*;
import javafx.scene.layout.*;
import javafx.scene.text.*;
import javafx.stage.*;

public class Drawing extends Application{
private BorderPane mainPane;
private HBox statusBox;
private Text statusText;

public void start(Stage primaryStage) {

    statusText = new Text("OFF");
    statusBox = new HBox(statusText);
    statusBox.setAlignment(Pos.CENTER);
    mainPane.setTop(statusBox);          //nullPointerException here

    Scene scene = new Scene(mainPane, 1000, 1000);
    primaryStage.setTitle("Draw Something");
    primaryStage.setScene(scene);
    primaryStage.setResizable(false);
    primaryStage.show();
}

public static void main(String args[]) {
    launch(args);
}
}

我想创建一个 BorderPane 并设置一些文本的顶部。我创建了一个 HBox 放在里面。我不知道为什么会出现这个错误。

标签: javajavafxnullpointerexception

解决方案


你的mainPane.setTop(statusBox)还没有被实例化。mainPane在使用它之前先实例化mainPane = new BorderPane()它。


推荐阅读