[英]Array pointing to a null position after being passed to another class, Java
我的代碼遇到了一個奇怪的問題,我做了一個標簽數組,以便當我將該數組傳遞給另一個類時,該類可以讀取並知道我要移動並更改其位置的標簽的位置,在所有地方嘗試打印,以了解數組傳遞的內容,然后再將數組傳遞給另一個類,然后放置打印,那一刻該打印具有正確的信息,但是當我告訴按鈕從以下位置調用方法時我的另一個類並傳遞它,我得到了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”
public void getlista(JLabel lista){
//System.out.println(lista);
}
這就是方法,我正在測試
我相信您誤認了錯誤的來源。 您聲明字段partida
但不要在任何地方初始化它。 默認情況下,此字段初始化為null
。
在嘗試調用其getlista()
方法之前,請確保partida
不為null
,否則您將獲得NPE。
您尚未顯示所有代碼,因此可能是您確實將partida
設置為某處的某個東西,但是您應該在獲取NPE時確認它實際上不是null
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.