传递给另一个类Java后指向空位置的数组

传递给另一个类Java后指向空位置的数组,java,arrays,class,nullpointerexception,labels,Java,Arrays,Class,Nullpointerexception,Labels,我的代码遇到了一个奇怪的问题,我制作了一个标签数组,这样当我将数组传递给另一个类时,这个类可以读取并知道我要移动的标签的位置,并改变它的位置,我尝试了到处打印,以了解数组传递的内容,在将数组传递给另一个类之前,我放置了一个print,此时的print具有正确的信息,但是当我告诉按钮从另一个类调用该方法并传递它时,我得到了一个NullPointerException 这就是我制作数组的方法 JLabel[] listabolaslabels ; Partida partida;

我的代码遇到了一个奇怪的问题,我制作了一个标签数组,这样当我将数组传递给另一个类时,这个类可以读取并知道我要移动的标签的位置,并改变它的位置,我尝试了到处打印,以了解数组传递的内容,在将数组传递给另一个类之前,我放置了一个print,此时的print具有正确的信息,但是当我告诉按钮从另一个类调用该方法并传递它时,我得到了一个NullPointerException

这就是我制作数组的方法

JLabel[] listabolaslabels ;


    Partida partida;


    public Gui() {
        initComponents();
        //partida = new Partida();
        setLocationRelativeTo(null);
        setResizable( false );



        this.listabolaslabels = new JLabel[]{

            //Bolas Nivel 1, Jugador 1
            this.bolaj1,
            this.nivel1j1bola1,
            this.nivel1j1bola2,
            this.nivel1j1bola3,
            //Bolas Nivel 2, Jugador 1
            this.nivel2j1bola1,
            this.nivel2j1bola2,
            this.nivel2j1bola3,
            //Bolas Nivel 3, Jugador 1
            this.nivel3j1bola1,
            this.nivel3j1bola2,
            this.nivel1j1bola3,


            //Bola Comodin
            this.labelcomodin,


            //Bolas Nivel 1, Jugador 2
             this.nivel1j2bola1,
            this.nivel1j2bola2,
            this.nivel1j2bola3,
            //Bolas Nivel 2, Jugador 2
            this.nivel2j2bola1,
            this.nivel2j2bola2,
            this.nivel2j2bola3,
            //Bolas Nivel 3, Jugador 12
            this.nivel3j2bola1,
            this.nivel3j2bola2,
            this.nivel3j2bola3};

    }
这是按钮执行的代码

    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        System.out.println(listabolaslabels[0]);

When the program get's to this point it shows the nullpointerexception
        partida.getlista(listabolaslabels[0]);

    } 
同时,在另一类中,在本例中为“Partida”


这就是我用来测试的方法,我相信你误认了错误的来源。您可以声明字段
partida
,但不在任何地方初始化它。默认情况下,此字段初始化为
null

在尝试调用其
getlista()
方法之前,请确保
partida
不是
null
,否则您将得到一个NPE


您尚未显示所有代码,因此您可能确实在某个地方设置了
partida
,但您应该验证在获取NPE时它实际上不是
null

非常感谢!这就是问题所在,现在我只需要修复,当我调用方法时,标签移动到最后,它不会随着运动而移动。如果我误解了,请道歉:但是,请考虑使用<代码>列表>代码>,而不是固定数组,例如<代码> ARARYLIST/<代码>或<代码>链接目录> /代码>。
列表具有
get()
remove()
add()
,可用于执行移动操作。如果您的移动逻辑(固定阵列或非固定阵列)仍然有问题,请随时将其作为新问题发布。当然,我会这样做,还有一个问题,您有任何类型的网站可以让我获得如何制作列表的好例子,我制作阵列时遇到了很多麻烦,非常感谢:)(左侧导航菜单上有一个关于列表的特定部分)或(简明扼要)。
public void getlista(JLabel lista){
        //System.out.println(lista);
    }