下面的java小应用程序运行的时候总是提示未初始化。求高手指点迷津。
importjava.applet.Applet;importjava.awt.*;publicclassUsePanelextendsApplet{LabellblNa...
import java.applet.Applet;
import java.awt.*;
public class UsePanel extends Applet {
Label lblName,lblNumber,lblSex,lblJob,lblText;
TextField tfName,tfNumber;
Checkbox cbSex1,cbSex2;
CheckboxGroup c;
Choice cJob;
TextArea ta;
Button b1,b2;
Panel p1,p2,p3,p4,p5,p6,p7,p8,p9;
public void init()
{
lblName=new Label("姓名:");
lblNumber=new Label("身份证号:");
lblSex=new Label("性别");
lblJob=new Label("职业");
lblText=new Label("个性化宣言:");
tfName=new TextField(23);
tfName=new TextField(20);
ta=new TextArea(10,20);
c=new CheckboxGroup();
cbSex1=new Checkbox("男",c,true);
cbSex2=new Checkbox("女",c,false);
cJob=new Choice();
cJob.add("计算机业");
cJob.add("教师");
cJob.add("医生");
cJob.add("军队");
cJob.add("公务员");
b1=new Button("确定");
b2=new Button("取消");
p1=new Panel();
p2=new Panel();
p3=new Panel();
p4=new Panel();
p5=new Panel();
p6=new Panel();
p7=new Panel(new BorderLayout());
p8=new Panel();
p9=new Panel(new BorderLayout());
p1.add(lblName);
p1.add(tfName);
p2.add(lblNumber);
p2.add(tfNumber);
p3.add(lblSex);
p3.add(cbSex1);
p3.add(cbSex2);
p4.add(lblJob);
p4.add(cJob);
p5.add(p3);
p5.add(p4);
p6.setLayout(new BorderLayout());
p6.add(p1,BorderLayout.NORTH);
p6.add(p2,BorderLayout.CENTER);
p6.add(p5,BorderLayout.SOUTH);
p7.add(lblText,BorderLayout.NORTH);
p7.add(ta,BorderLayout.CENTER);
p8.setLayout(new FlowLayout(FlowLayout.CENTER,30,10));
p8.add(b1);
p8.add(b2);
p9.add(p6,BorderLayout.NORTH);
p9.add(p7,BorderLayout.CENTER);
p9.add(p8,BorderLayout.SOUTH);
this.add(p9);
}
}
这是提示的错误:
java.lang.NullPointerException
at java.awt.Container.addImpl(Container.java:1014)
at java.awt.Container.add(Container.java:348)
at UsePanel.init(UsePanel.java:45)
at sun.applet.AppletPanel.run(AppletPanel.java:424)
at java.lang.Thread.run(Thread.java:619)
求高手指点迷津,好的话,高分送上。 展开
import java.awt.*;
public class UsePanel extends Applet {
Label lblName,lblNumber,lblSex,lblJob,lblText;
TextField tfName,tfNumber;
Checkbox cbSex1,cbSex2;
CheckboxGroup c;
Choice cJob;
TextArea ta;
Button b1,b2;
Panel p1,p2,p3,p4,p5,p6,p7,p8,p9;
public void init()
{
lblName=new Label("姓名:");
lblNumber=new Label("身份证号:");
lblSex=new Label("性别");
lblJob=new Label("职业");
lblText=new Label("个性化宣言:");
tfName=new TextField(23);
tfName=new TextField(20);
ta=new TextArea(10,20);
c=new CheckboxGroup();
cbSex1=new Checkbox("男",c,true);
cbSex2=new Checkbox("女",c,false);
cJob=new Choice();
cJob.add("计算机业");
cJob.add("教师");
cJob.add("医生");
cJob.add("军队");
cJob.add("公务员");
b1=new Button("确定");
b2=new Button("取消");
p1=new Panel();
p2=new Panel();
p3=new Panel();
p4=new Panel();
p5=new Panel();
p6=new Panel();
p7=new Panel(new BorderLayout());
p8=new Panel();
p9=new Panel(new BorderLayout());
p1.add(lblName);
p1.add(tfName);
p2.add(lblNumber);
p2.add(tfNumber);
p3.add(lblSex);
p3.add(cbSex1);
p3.add(cbSex2);
p4.add(lblJob);
p4.add(cJob);
p5.add(p3);
p5.add(p4);
p6.setLayout(new BorderLayout());
p6.add(p1,BorderLayout.NORTH);
p6.add(p2,BorderLayout.CENTER);
p6.add(p5,BorderLayout.SOUTH);
p7.add(lblText,BorderLayout.NORTH);
p7.add(ta,BorderLayout.CENTER);
p8.setLayout(new FlowLayout(FlowLayout.CENTER,30,10));
p8.add(b1);
p8.add(b2);
p9.add(p6,BorderLayout.NORTH);
p9.add(p7,BorderLayout.CENTER);
p9.add(p8,BorderLayout.SOUTH);
this.add(p9);
}
}
这是提示的错误:
java.lang.NullPointerException
at java.awt.Container.addImpl(Container.java:1014)
at java.awt.Container.add(Container.java:348)
at UsePanel.init(UsePanel.java:45)
at sun.applet.AppletPanel.run(AppletPanel.java:424)
at java.lang.Thread.run(Thread.java:619)
求高手指点迷津,好的话,高分送上。 展开
展开全部
我跑了一下~~发现LZ你就是粗心了一点~~
就是地45行的
tfName=new TextField(20);
这里应该是初始化tfNumber的
即tfNumber=new TextField(20);
这种问题的话,主要就是根据编译器提示哪里出错了,然后再自己检查检查,改正就行了~~
就是地45行的
tfName=new TextField(20);
这里应该是初始化tfNumber的
即tfNumber=new TextField(20);
这种问题的话,主要就是根据编译器提示哪里出错了,然后再自己检查检查,改正就行了~~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
那个报的是空指针错误,你打个断点看看你的代码在哪一行的时候开始报错 然后你看看你哪行的那个变量找根没有赋值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
出现问题:p2.add(tfNumber);
tfNumber没有值
tfName=new TextField(23);
tfNumber=new TextField(20);//这行有错误吧
tfNumber没有值
tfName=new TextField(23);
tfNumber=new TextField(20);//这行有错误吧
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
tfName = new TextField(20);
tfName = new TextField(23);
这两行名字重复,应该是你打错了吧,你本来应该是这样的吧:
tfName = new TextField(20);
tfNumber = new TextField(23);
tfName = new TextField(23);
这两行名字重复,应该是你打错了吧,你本来应该是这样的吧:
tfName = new TextField(20);
tfNumber = new TextField(23);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询