开始:NetBeans IDE 8.0中的Applet未初始化错误

时间:2014-07-02 13:55:57

标签: java nullpointerexception applet netbeans-8

我在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上尝试了相同的代码,但没有任何错误。 这是任何类型的错误还是错误?

1 个答案:

答案 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。