当前位置: 技术问答>java相关
刚开始学java就遇到一个问题,各位帮忙看看了,欧真苯!
来源: 互联网 发布时间:2015-04-09
本文导语: 我用一个list控件,现想对他进行操作,但老是不成功,提示null pointer exception! 不知道什么地方错误,我创建了对象了。 源码如下: import java.awt.*; public class order extends java.applet.Applet { public void init() ...
我用一个list控件,现想对他进行操作,但老是不成功,提示null pointer exception!
不知道什么地方错误,我创建了对象了。
源码如下:
import java.awt.*;
public class order extends java.applet.Applet
{
public void init()
{ List ProductList=new List(4,false);
ProductList.addItem("Oscar");
ProductList.addItem("Lionhead");
ProductList.addItem("Jack Dempsey");
ProductList.addItem("Angelfish");
add(ProductList);
......
......
resetValues();
}
public void resetValues(){
SubTotalLabel.setText("$0.0");
TotalLabel.setText("$0.0");
AmountLabel.setText("$0.0");
PricePerItemLabel.setText("$0.0");
ProductList.select(1); **xxxxxxxxxxxxxxxxxxxxxx**
SizeChoice.select(1);
OrderAmountSlider.setValue(0);
NameEntryField.setText("");
StreetEntryField.setText("");
CityEntryField.setText("");
ZipEntryField.setText("");
}
public boolean handleEvent(Event InEvent)
{
if(InEvent.id==Event.SCROLL_LINE_UP||InEvent.id==Event.SCROLL_LINE_DOWN){
updateValues();
}else
if(InEvent.target==ProductList){
updateValues();
}else
if(InEvent.target==ClearButton){
resetValues();
}else
if(InEvent.target==QuitButton){
//Alabel.setText("Quit Button");
}else
if(InEvent.target==SubmitButton){
//Alabel.setText("Submit Button");
}
return super.handleEvent(InEvent);
}
public boolean action(Event InEvent,Object SomeObject){
if(InEvent.target==SizeChoice){
updateValues();
return true;
}else
if(InEvent.target==NameEntryField){
return true;
}else
return false;
}
private void updateValues(){
。。。。。。。
。。。。。。。
}
}
打杈的地方报错!
不知道什么地方错误,我创建了对象了。
源码如下:
import java.awt.*;
public class order extends java.applet.Applet
{
public void init()
{ List ProductList=new List(4,false);
ProductList.addItem("Oscar");
ProductList.addItem("Lionhead");
ProductList.addItem("Jack Dempsey");
ProductList.addItem("Angelfish");
add(ProductList);
......
......
resetValues();
}
public void resetValues(){
SubTotalLabel.setText("$0.0");
TotalLabel.setText("$0.0");
AmountLabel.setText("$0.0");
PricePerItemLabel.setText("$0.0");
ProductList.select(1); **xxxxxxxxxxxxxxxxxxxxxx**
SizeChoice.select(1);
OrderAmountSlider.setValue(0);
NameEntryField.setText("");
StreetEntryField.setText("");
CityEntryField.setText("");
ZipEntryField.setText("");
}
public boolean handleEvent(Event InEvent)
{
if(InEvent.id==Event.SCROLL_LINE_UP||InEvent.id==Event.SCROLL_LINE_DOWN){
updateValues();
}else
if(InEvent.target==ProductList){
updateValues();
}else
if(InEvent.target==ClearButton){
resetValues();
}else
if(InEvent.target==QuitButton){
//Alabel.setText("Quit Button");
}else
if(InEvent.target==SubmitButton){
//Alabel.setText("Submit Button");
}
return super.handleEvent(InEvent);
}
public boolean action(Event InEvent,Object SomeObject){
if(InEvent.target==SizeChoice){
updateValues();
return true;
}else
if(InEvent.target==NameEntryField){
return true;
}else
return false;
}
private void updateValues(){
。。。。。。。
。。。。。。。
}
}
打杈的地方报错!
|
我看是你的程序错了,你已经声明了一个私有的全局变量ProductList:
private List ProductList;
然后在init方法理由声明了一个同名的ProductList对象:
List ProductList=new List(4,false);
ProductList.addItem("Oscar");
ProductList.addItem("Lionhead");
ProductList.addItem("Jack Dempsey");
ProductList.addItem("Angelfish");
ProductList.select(1);
add(ProductList);
那么当init方法结束后,Applet的面板上应该有一个List对象,就是你看到的那个,但这个对象不是你声明的私有变量ProductList, 这时这个ProductList应该是null,那么在以后的其他方法中如果用到这个变量就会抛出空指针异常。
(我没有实际运行你的程序,也许会有不准确的地方)
private List ProductList;
然后在init方法理由声明了一个同名的ProductList对象:
List ProductList=new List(4,false);
ProductList.addItem("Oscar");
ProductList.addItem("Lionhead");
ProductList.addItem("Jack Dempsey");
ProductList.addItem("Angelfish");
ProductList.select(1);
add(ProductList);
那么当init方法结束后,Applet的面板上应该有一个List对象,就是你看到的那个,但这个对象不是你声明的私有变量ProductList, 这时这个ProductList应该是null,那么在以后的其他方法中如果用到这个变量就会抛出空指针异常。
(我没有实际运行你的程序,也许会有不准确的地方)
|
用ProductList.getItem(ProductList.getSelectedIndexes());
|
好像是jdk1.0的事件处理模型的兼容问题(action())
怎么不用新事件模型?
就是somecomponent.add***listener()
处理事件用对应的方法。
怎么不用新事件模型?
就是somecomponent.add***listener()
处理事件用对应的方法。
|
看不懂,怎么没接口?