Java 为什么我会得到;“无法创建组件”;这个代码有错误吗?

Java 为什么我会得到;“无法创建组件”;这个代码有错误吗?,java,netbeans,Java,Netbeans,我想创建BeanTreeView的新节点,当我在构造函数中添加一些节点,然后运行应用程序,然后我尝试用树查看窗口时,它会抛出此错误 java.lang.AssertionError: Component cannot be created for {component=null, displayName=Exploirer, instanceCreate=AlwaysEnabledAction[Exploirer]} at org.openide.windows.OpenComponen

我想创建BeanTreeView的新节点,当我在构造函数中添加一些节点,然后运行应用程序,然后我尝试用树查看窗口时,它会抛出此错误

java.lang.AssertionError: Component cannot be created for {component=null, displayName=Exploirer, instanceCreate=AlwaysEnabledAction[Exploirer]} at org.openide.windows.OpenComponentAction.getTopComponent(OpenComponentAction.java:71) 也许这就是问题所在?您有一个指向null的数组指针,然后尝试将第一个ProjectNode对象分配给一个不存在的数组


使用
ProjectNode[]pr=newprojectnode[10]创建数组例如,创建长度为10的空数组。执行此操作,而不是将其指定为null。

至少您在这里遇到了问题:

ProjectNode[] pr = null;
pr[0] = projectNode;
它将在第二行抛出NullPointerException

第一行应该是这样的:

 ProjectNode[] pr = new ProjectNode[5]; // size is 5

实际上,您的代码应该给您一个
NullPointerException
,因为:

ProjectNode[] pr = null;
pr[0] = projectNode;

首先将数组设置为null,然后尝试访问第0个元素,因此将其设置为
projectNode

Ya我知道了。。。我理解错了。。。这就是为什么我删除了答案我想。。。但是在这个例外之前。。。她会得到一个错误。。。你说什么?
 ProjectNode[] pr = new ProjectNode[5]; // size is 5
ProjectNode[] pr = null;
pr[0] = projectNode;