Java 匿名ActionListener类异常“;NullPointerException“;
在for循环中,我想Java 匿名ActionListener类异常“;NullPointerException“;,java,swing,nullpointerexception,actionlistener,anonymous-class,Java,Swing,Nullpointerexception,Actionlistener,Anonymous Class,在for循环中,我想 初始化JButtons[]基站 将按钮添加到面板窗格3 向每个JButton添加一个ActionListener 到目前为止,我得到的是: for(int i = 0 ;i < bts1.length ; i++){ bts1[i] = new JButton(""+i); pan3.add(bts1[i]); //The NullPointerException happens after this line .
- 初始化JButtons[]基站
- 将按钮添加到面板窗格3
- 向每个JButton添加一个ActionListener
for(int i = 0 ;i < bts1.length ; i++){
bts1[i] = new JButton(""+i);
pan3.add(bts1[i]);
//The NullPointerException happens after this line .
bts[i].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
int j = 0 ;
screen.setText(screen.getText()+bts[j].getText());
j++;
}
});
}
for(int i=0;i
我的问题是如何解决NullPointerException?
笔记
对于j,我添加它是因为当我尝试使用I时,出现了编译器错误,请尝试以下操作:
try this:
for(int i = 0 ;i < bts1.length-1 ; i++){
//rest of your code
}
对于(int i=0;i
因为由10个元素组成的数组包含索引为0到9的元素,而不是索引为0到10的元素。请尝试以下操作:
对于(int i=0;i
因为由10个元素组成的数组包含索引为0到9的元素,而不是索引为0到10的元素。请尝试以下操作:
对于(int i=0;i
因为由10个元素组成的数组包含索引为0到9的元素,而不是索引为0到10的元素。请尝试以下操作:
对于(int i=0;i
因为由10个元素组成的数组包含索引为0到9的元素,而不是索引为0到10的元素。在将按钮添加到面板之前。首先需要为按钮添加侦听器 请先试用以下代码
//The NullPointerException happens after this line .
bts[i].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
int j = 0 ;
screen.setText(screen.getText()+bts[j].getText());
j++;
}
});
**pan3.add(bts1[i]);**
在将按钮添加到面板之前。首先需要为按钮添加侦听器 请先试用以下代码
//The NullPointerException happens after this line .
bts[i].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
int j = 0 ;
screen.setText(screen.getText()+bts[j].getText());
j++;
}
});
**pan3.add(bts1[i]);**
在将按钮添加到面板之前。首先需要为按钮添加侦听器 请先试用以下代码
//The NullPointerException happens after this line .
bts[i].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
int j = 0 ;
screen.setText(screen.getText()+bts[j].getText());
j++;
}
});
**pan3.add(bts1[i]);**
在将按钮添加到面板之前。首先需要为按钮添加侦听器 请先试用以下代码
//The NullPointerException happens after this line .
bts[i].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
int j = 0 ;
screen.setText(screen.getText()+bts[j].getText());
j++;
}
});
**pan3.add(bts1[i]);**
您将
JButton
初始化为bts1
,并将其称为bts
。我认为这是错误的原因。而且 声明
inti=0
作为全局范围和用于(i=0;i
则可以使用i
而不是j
或按以下方式使用:
for(int i = 0 ;i < bts1.length ; i++){
bts1[i] = new JButton(""+i);
pan3.add(bts1[i]);
final int j=i;
bts1[i].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
screen.setText(screen.getText()+bts1[j].getText());
}
});
}
for(int i=0;i
您将JButton
初始化为bts1
,并将其称为bts
。我认为这是错误的原因。而且 声明
inti=0
作为全局范围和用于(i=0;i
则可以使用i
而不是j
或按以下方式使用:
for(int i = 0 ;i < bts1.length ; i++){
bts1[i] = new JButton(""+i);
pan3.add(bts1[i]);
final int j=i;
bts1[i].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
screen.setText(screen.getText()+bts1[j].getText());
}
});
}
for(int i=0;i
您将JButton
初始化为bts1
,并将其称为bts
。我认为这是错误的原因。而且 声明
inti=0
作为全局范围和用于(i=0;i
则可以使用i
而不是j
或按以下方式使用:
for(int i = 0 ;i < bts1.length ; i++){
bts1[i] = new JButton(""+i);
pan3.add(bts1[i]);
final int j=i;
bts1[i].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
screen.setText(screen.getText()+bts1[j].getText());
}
});
}
for(int i=0;i
您将JButton
初始化为bts1
,并将其称为bts
。我认为这是错误的原因。而且 声明
inti=0
作为全局范围和用于(i=0;i
则可以使用i
而不是j
或按以下方式使用:
for(int i = 0 ;i < bts1.length ; i++){
bts1[i] = new JButton(""+i);
pan3.add(bts1[i]);
final int j=i;
bts1[i].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
screen.setText(screen.getText()+bts1[j].getText());
}
});
}
for(int i=0;i
您正在使用两种不同的jbutton数组,bts
和bts1
- 在循环中,您正在创建一个JButton并将其分配给
李>bts1[i]
- 在ActionListener部分,您正在访问bts[j]
您是否也在某处初始化了bts[j]?如果不是,你会遇到NPE 您正在使用两种不同的jbutton数组,
bts
和bts1
- 在循环中,您正在创建一个JButton并将其分配给
李>bts1[i]
- 在ActionListener部分,您正在访问bts[j]
您是否也在某处初始化了bts[j]?如果不是,你会遇到NPE 您正在使用两种不同的jbutton数组,
bts
和bts1
- 在循环中,您正在创建一个JButton并将其分配给
李>bts1[i]
- 在