为了使我的程序更短,我使用数组和循环来完成一项任务,但我遇到了问题。我不确定我是初始化数组错误还是访问错误。我正在初始化一个包含 40 个 JCheckBox 的数组。
JCheckBox[] seatz={chk_a1,chk_a2,chk_a3,chk_a4,chk_a5,chk_a6,chk_a7,chk_a8,chk_a9,chk_a10,chk_b1,chk_b2...chk_d10};
每当 JCheckBox 的项目状态发生更改时,seatChecker()
都会调用该方法
public void seatChecker(JCheckBox chkbox) {
if(chkbox.isSelected()){
chkboxcount=chkboxcount+1;
} else {
chkboxcount=chkboxcount-1;
}
if(chkboxcount>=totalseats){
disableSeats();
} else {
enableSeats();
}
}
在这里,如果计数达到一定限制,我将禁用 JCheckBoxes,否则启用它们。这两种方法的代码是
public void disableSeats() {
for(int x = 0; x < 40 ; x++) {
if(seatz[x].isSelected()==false){
seatz[x].setEnabled(false);
}
}
}
public void enableSeats() {
for(int x = 0; x < 40 ; x++) {
seatz[x].setEnabled(true);
}
}
我得到了错误Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
,我在这里做错了什么if(seatz[x].isSelected()==false)
?seatz[x].setEnabled(true)