2012-06-14 46 views
0

爲什麼我在嘗試將此JLabel的ImageIcon設置爲某個對象時出現錯誤。它返回一個空指針異常。有誰知道這個問題?Java ImageIcon到JLabel數組

public class Window extends JFrame{ 

    JPanel panel = new JPanel(); 
    JLabel stick[] = new JLabel[10];  

    Window(){ 

     super("ThisIsWindow"); 
     setSize(650,550); 
     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     setResizable(false); 

     add(panel); 
     panel.setLayout(null); 

     stick[5].setIcon(new ImageIcon("stick.gif")); 

    } 
} 

錯誤發生在代碼的最後一行,將stick [5]設置爲stick.gif。誰能幫忙?

回答

6

添加

stick[5] = new JLabel(); 

stick[5].setIcon(new ImageIcon("stick.gif")); 

基本上,你正在創建一個擁有JLabel類型的10個引用數組,這些引用在指什麼(空)開頭:

JLabel stick[] = new JLabel[10]; 

所以,你需要創建的JLabel 10個實例與new JLabel()讓那些10個引用指向它們:

for(int i = 0; i < 10; i++) stick[i] = new JLabel(); 
+0

謝謝!這幫了很大的忙!我大拇指,選擇這個作爲我的答案! :) –

0

stick[5]中是否有JLabel對象?