2012-12-05 73 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];