我在NetBeans IDE 8.0上尝试以下代码:
public class ChoiceProgramDemo extends Applet implements ItemListener{
Label l1 = new Label();
Choice Product;
@Override
public void init() {
String[] ProductList = new String[4];
ProductList[0]="Pen";
ProductList[1]="Pencil";
ProductList[2]="Eraser";
ProductList[3]="NoteBook";
for(int i=0;i<ProductList.length;i++)
{
Product.insert(ProductList[i], i);
}
add(Product);
add(l1);
Product.addItemListener(this);
}
public void itemStateChanged(ItemEvent ie)
{
int Selection;
Selection=Product.getSelectedIndex();
System.out.println(Selection);
}
}
但是我收到以下错误:
java.lang.NullPointerException
at ChoiceProgramDemo.init(ChoiceProgramDemo.java:35)
at sun.applet.AppletPanel.run(AppletPanel.java:435)
at java.lang.Thread.run(Thread.java:745)
小程序查看器中的和Start: Applet not initialized
。
我在另一台PC上尝试了相同的代码,但没有任何错误。 这是任何类型的错误还是错误?
答案 0 :(得分:1)
在向其中添加项目之前,您需要实例化Choice
。
@Override
public void init() {
// you are missing this line
Choice Product = new Choice();
//
String[] ProductList = new String[4];
ProductList[0]="Pen";
ProductList[1]="Pencil";
ProductList[2]="Eraser";
ProductList[3]="NoteBook";
for(int i=0;i<ProductList.length;i++)
{
Product.insert(ProductList[i], i);
}
add(Product);
add(l1);
Product.addItemListener(this);
}
我不知道为什么相同的代码可以在另一台PC上运行,而不是相同的代码。无论你在哪里运行它,你仍然需要首先实例化Choice。