java - BlueJ 调用公共(public)方法空指针异常(java.awt.container)

标签 java nullpointerexception bluej

通常我会在 makeFrame 方法内实例化面板,但我需要使用 CreateButtonPanel() 和 createTextPanel() 这两个单独的方法。问题是,当它们不在自己的方法内部时,我无法弄清楚如何让 makeFrame 使用它们,并且当我习惯了 JavaScript 时,我所做的看起来应该可以工作,但事实并非如此。

enter image description here

最佳答案

从屏幕截图来看,您正在 createButtonPanel 中创建一个局部变量。方法使其对 add 不可用(空)容器的方法。

public void createButtonPanel()
{
    JPanel buttonPanel = new JPanel();
}

相反,让它将新实例分配给类级别变量,以便在传递到 add 时它不会为空。容器的方法。

public void createButtonPanel()
{
    this.buttonPanel = new JPanel(); // Now we are assigning to the class member
}

这应该可以解决您的问题。另外,建议您将其移至构造函数调用的初始化方法,并将其设为 private因为制作它是没有用的 public在这种情况下。

希望这有帮助。

关于java - BlueJ 调用公共(public)方法空指针异常(java.awt.container),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29803798/

相关文章:

java - libGDX 3D 使用旋转速度系数将 ModelInstance 旋转到第二个

java强制扩展类

java - Android教程 thenewboston 空指针异常崩溃

java - @ElementCollection with Map<Entity, Embeddable> 其中 Entity 是 Embeddable 的字段

java - 临时哈希表上的 NullPointerException

c++ - 在 Netbeans 7.2 中运行 C++ 程序时出现 java.lang.NullPointerException

java - 错误 : incompatible type when trying to use compareTo to compare one string to another

java - 网格世界帮助将小动物移动到空位

c# - 是否有类似于 BlueJ 的程序适用于 C# 而不是 java

java - Mockito - 检查是否在对象上调用了 NO 方法(未访问对象)