java - 我的 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 放在里面。我不知道为什么会出现这个错误。
解决方案
你的mainPane.setTop(statusBox)
还没有被实例化。mainPane
在使用它之前先实例化mainPane = new BorderPane()
它。
推荐阅读
- javascript - 无法使用 JQuery 设置 Select2 下拉值
- sql - 在 SQL 中的 sp_execute sql 语句中查找日期间隔内的条目
- html - 在不同的表中插入多个信息,Mysq,Node.js
- webpack - Webpack 构建非常缓慢
- ios - 缺少装配参考?
- python - TypeVar 和 NewType 有什么区别?
- python-3.x - 如何删除我的 Urwid 小部件之间的空格?
- postgresql - 如何在 Express 中使用 Sequelize for Postgresql 实现 IS-A 关系?
- tcl - 在调用者上下文中打印包含列表变量的表达式
- c# - 上传到 Azure 块 Blob 时如何选择最佳块大小