Alf*_*red 3 java swing nullpointerexception jbutton
我试图将文本分配给循环内的按钮,但我得到一个NullPointerException.我已经在类的构造函数中初始化了按钮数组,在initilizatoin之后,我调用了以下方法.这是我收到错误的代码.
public class Alfred
{
private String names[]={"nfs","gta","maxpayne","hitman"};
private JButton but[];
public Alfred()
{
...
but= new JButton[4];
AssignLettersToButtons();
}
private void AssignLettersToButtons()
{
for(int i=0;i<names.length;i++)
{
but[i].setText(names[i]); // error
pane1.add(but[i]);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
按钮数组和名称数组的长度相同.这个例外的原因是什么,我该如何解决?
问候
but= new JButton[4];
Run Code Online (Sandbox Code Playgroud)
这只为四个数组元素分配空间 ; 每个元素都初始化为null,像对象一样的引用类型的默认值JButton.
but[0],but[1],but[2],but[3]都是null.
你应该像这样初始化它们:
but[0] = new JButton(); //or whatever.
Run Code Online (Sandbox Code Playgroud)