我有一个填充数据的2d dbl数组,我可以在代码中的任何地方调用:
System.out.println(twodarray[0][0]);
它工作得很好。当我将它作为Actionlistener的一部分调用时,它将无法工作,并且我得到一个Null指针异常。
我的事件监听器代码:
public void actionPerformed(ActionEvent e)
{
if (e.getSource() == firstbutton)
{
System.out.println(twodarray[0][0]);
}
}
我不知道从哪里开始解决这个问题。该数组存在有效数据,如我的代码中的println所示。我在哪里错了?
答案 0 :(得分:2)
您可以访问该阵列;那不是问题。问题是当调用动作侦听器时,数组变量为null。确保您没有在构造函数或方法中隐藏数组变量。有关更详细的答案,请提供有关您的问题和代码的更多详细信息。
换句话说,您是初始化类数组变量,还是仅初始化方法或构造函数本地的数组变量?
答案 1 :(得分:0)
您还需要记住,侦听器正在UI线程上运行。确保不在其他地方填充二维数组。