-1

事情是这样的——我的 Main 方法只调用 InitGui。在整个类中(基本上是整个文件,我有 InitGui 方法和一些公共静态 gui 对象。其中一个对象实际上是一个数组

public static JButton Keys[] = null; 

我有一个名为 placeKeys 的方法,它获取每个 JButton“键”的位置并将其放置在面板上。当我不使用这种方法时,整个代码都可以工作,基本上不是 for i=0 到任何东西,我只想调用 placeKey(arguments here...) 而不是像这样放置每个 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]);            

我把方法写下来了,但是当它尝试访问 Keys[] 时,它在 placeKeys 报告指针错误,这意味着方法的第一行

希望你能理解我

4

2 回答 2

1

在你的 for 循环之前(或者当你声明它时,或者,如果你依赖空检查,就在 for 循环之前)你需要用Keys = new JButton[whatever+1];. 哦,请以小写字母开头变量名 - 这是普遍接受的做法。

于 2012-12-05T07:58:41.953 回答
0
//assuming jBStringArray is already defined here
public static JButton Keys[] = new JButton[jBStringArray.length];
于 2012-12-05T07:58:46.337 回答