2012-12-05 66 views
-1

以下是事情 - 我的Main方法只調用InitGui。全班(基本上整個文件裏面,我有InitGui方法和一些公共靜態GUI對象,其中一個對象是實際工作中的數組指針與公共數組

public static JButton Keys[] = null; 

而且我有一個方法叫placeKeys是可以獲得位置每個JButton「Keys」並將其放置在面板上。當我不使用此方法時,整個代碼工作正常,而不是爲了i = 0,我只想調用placeKey(參數在這裏...)而不是 每個JButton的要放置這樣

for i=0 to whatever 
Keys[i] = new JButton(jBStringArray[i]); 
     Keys[i].setLocation(2 + i*kSize,2+row*50); 
     Keys[i].setSize(50, kSize);  
     keyboardPane.add(Keys[i]);    

我已經方法寫下來,但它在placeKeys報告一個錯誤指針,當它試圖訪問鍵[],這意味着該方法的第一行

希望你明白我的意思

+0

那麼真正的代碼是什麼?不幸的是,循環是不正確的,所以我不能說這是否是問題。另外,一定要明確說明你的異常是什麼 - 它可能是'NullPointerException',但我不能100%確定。 – Makoto

+0

是的 - 這是空指針異常 –

+0

循環被稱爲多個不同的arugments,有時甚至沒有被稱爲,但只是這4行被稱爲1值,但我想要一個方法來做這4行... –

回答

1

之前的for循環(無論是在聲明它,或者,如果依靠空校驗,就在for循環),您需要使用Keys = new JButton[whatever+1];創建數組。哦,請用小寫字母開始你的變量名 - 這是普遍接受的事情。

0
//assuming jBStringArray is already defined here 
public static JButton Keys[] = new JButton[jBStringArray.length];