JAVA中的事件

来源:百度知道 编辑:UC知道 时间:2024/06/28 05:39:05
IDcard[] ID = new IDcard[n];
if(e.getSource() == Sub)
{
strName = TextName.getText();
strID = TextID.getText();
strNationality = TextNationality.getText();
strAddress = TextAddress.getText();
strBirth = TextBirth.getText();
strSex = TextSex.getText();
ID[i] = new IDcard(strName,strID,strNationality,strAddress,strBirth,strSex);
Show1.setText(ID[i].toString1());
Show2.setText(ID[i].toString2());
Show3.setText(ID[i].toString3());
Show4.setText(ID[i].toString4());
Show5.setText(ID[i].toString5());
Show6.setText(ID[i].toString6());
TextName.setText("");
TextID.setText("");
TextNationality.setText("");
TextAddress.setText("");
TextBirth.setText("");
TextSex.setText("");
i = i+1;
}
if(e.getSource() == Next)
{
Show1.setText(

你的ID是不是定义到事件处理方法外面了?
完整的代码贴出来看看!
定义在那里应该可以引用,代码发到我邮箱我看看。
shijingchao246@163.com

你的代码我看了,主要原因是ID的生命周期问题,一次事件响应之后,ID已经不存在。ID的值只在提交时被初始化。当响应事件UP和NEXT时,ID只被声明了一下,并没有初始化,所以ID是空的。建议在提交的时候把数据写入数据库(Access就行了),或者写入文件也行(这个比较麻烦)。后面一个问题“随意插入任意个数”,不太明白你的意思。

补充:首先把ID定义成全局变量,
IDcard[] ID =null;
然后在事件中给其赋值:
IDcard[] ID = new IDcard[n];同时对每个元素做初始化。
-------------------
定义IDcard[] ID = new IDcard[n]; 后,需要对ID[]中的每个元素进行初始化,否则会出现空指针异常;
for(int i=0;i<n;i++){
ID[i] = new IDcard(strName,strID,strNationality,strAddress,strBirth,strSex);//此处lz用具体值代替
}