package package1;
import javax.swing.;
import java.awt.;
import java.awt.;
import java.util.;
public class BoxDemo extends JFrame{
public static void main(String[] args) {
new register();
}
}
class register extends JFrame{
private Box[] box;
private JLabel namelabel ,pwdlabel;
private JTextField namefield,pwdfield;
public register() {
box=new Box[2];
namelabel=new JLabel("用户名:");
namefield=new JTextField(10);
pwdlabel=new JLabel("密码");
pwdfield=new JTextField(10);
for(int i=0;i<=2;i++) {
box[i]=Box.createHorizontalBox();
box[0].add(Box.createVerticalStrut(45));
box[0].add(namelabel);
box[0].add(Box.createHorizontalStrut(30));//宽
box[0].add(namefield);
box[0].add(Box.createVerticalStrut(10));//高
box[1].add(pwdlabel);
box[1].add(Box.createHorizontalStrut(30));//宽
box[1].add(pwdfield);
box[1].add(Box.createVerticalStrut(10));//高
this.setLayout(new FlowLayout());
for(int i1=0;i1<=2;i1++)
this.add(box[i1]);
this.setSize(300,300);
this.setVisible(true);
}
}
}
Exception in thread "main" java.lang.NullPointerException: Cannot invoke "javax.swing.Box.add(java.awt.Component)" because "this.box[1]" is null
at package1.register.(BoxDemo.java:30)
at package1.BoxDemo.main(BoxDemo.java:8)
写得很明显了,box[1]是空值,到你直接调用了add方法,肯定报错