讨论启发灵感————重绘中的空指针异常问题_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > 讨论启发灵感————重绘中的空指针异常问题

讨论启发灵感————重绘中的空指针异常问题

 2013/7/10 3:35:41  朱凌峰  程序员俱乐部  我要评论(0)
  • 摘要:今天做了简单画图板,要重绘一个对象类的数组,出现了一个空指针问题:还没对对象类的数组进行实例化,就重绘啦,而重绘中有用到那个数组,因而出现了空指针异常。在同学的启发下,我觉得在重绘方法中,使用数组前先对数组进行初始化,关键来啦,初始化时,对其参数进行设置,比如type=-1(我们不使用的类型),接下来if(type==-1),就结束重绘。这样就解决了,窗体打开时的那次重绘造成的空指针异常。下面是我的解决方案:publicvoidpaint(Graphicsg){super.paint(g)
  • 标签:问题 讨论 指针 重绘 异常

今天做了简单画图板,要重绘一个对象类的数组,出现了一个空指针问题:还没对对象类的数组进行实例化,就重绘啦,而重绘中有用到那个数组,因而出现了空指针异常

在同学的启发下,我觉得在重绘方法中,使用数组前先对数组进行初始化,关键来啦,初始化时,对其参数进行设置,比如type=-1(我们不使用的类型),接下来if(type==-1),就结束重绘。这样就解决了,窗体打开时的那次重绘造成的空指针异常。

下面是我的解决方案:

public void paint(Graphics g) {
super.paint(g);


int x1,y1,x2,y2;
//如果数组为空指针,则对其进行实例化,type值设为-1(一个不用的类型)
if(arrayMs[0]==null){
System.out.println("null");
for(int j=0;j<arrayMs.length;j++){
arrayMs[j]=new MyShape(-1,100,100,400,400);
}
}
//数组一定已经被实例化啦,如果type符合,绘制图形
for(int i=0;i<arrayMs.length;i++){
//如果type有意义,绘制图形
if(arrayMs[i].type==1){
x1=arrayMs[i].x1;
y1=arrayMs[i].y1;
x2=arrayMs[i].x2;
y2=arrayMs[i].y2;
g.fillOval(x1, y1, x2, y2);
}
}
}
上一篇: swing界面开发 下一篇: 总结构造器
发表评论
用户名: 匿名