2
import java.awt.*;
import java.awt.event.*;

public class sample2 extends Frame
    {
    Button b[];
    public sample2()
        {
        super("trying");
        b=new Button[10];
        setLayout(new FlowLayout());
        for(int i=0;i<10;i++)
            add(b[i]);
        }
    public static void main(String args[])
        {
        sample2 obj=new sample2();
        obj.setSize(500,100);
        obj.setVisible(true);
        }
    }

例外如下

Exception in thread "main" java.lang.NullPointerException 
at java.awt.Container.addImpl(Container.java:1037) 
at java.awt.Container.add(Container.java:373) 
at sample2.<init>(sample2.java:13) 
at sample2.main(sample2.java:17) 
4

1 回答 1

5

是的,您创建了 Button 数组,但在使用之前从未初始化数组的元素。这意味着您正在向 GUI 添加空按钮。在使用之前先创建您的按钮。

    for(int i=0;i<10;i++)
        b[i] = new Button();
        add(b[i]);
    }
于 2013-06-26T02:24:54.603 回答