今天做了简单画图板,要重绘一个对象类的数组,出现了一个空指针问题:还没对对象类的数组进行实例化,就重绘啦,而重绘中有用到那个数组,因而出现了空指针异常。
在同学的启发下,我觉得在重绘方法中,使用数组前先对数组进行初始化,关键来啦,初始化时,对其参数进行设置,比如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);
}
}
}
分享到:
相关推荐
寓言的启发——献给初学编程的人 希望每一个学习编程的同学都有所收获
6-15铅笔带来的启发——铅笔的智慧模板.ppt
反高启发与反主动防御之路——基于源码的免杀技术(中)
区块链对农村电商中农产品上行的启发——基于消费者在线购买农产品意愿的问卷分析
区块链对农村电商中农产品上行的启发——基于消费者在线购买农产品意愿的问卷分析.pdf
涉及到了ComboBox控件中Edit控件的重绘、下拉列表控件的重绘以及按钮的重绘。在Edit控件以及下拉列表控件中改变了显示的颜色字体等,还可以显示图片。如果你是一个初学者,如果你想了解ComboBox控件重绘的要领,相信...
启发式提问驱动学生深度学习的探索与思考——以小学数学课堂为例.pdf
论文研究- HZG算法——大型0-1启发式目标规划.pdf, 一般0-1规划问题的解可能多至2~n个,若将其一一列出,加以比较,当n较大时,几乎不可能。即使采用隐枚举法,当n>50时,其计算量也是一般计算机无法承受的。作者曾经在...
共享经济视角下的城市医疗空间更新思考和启发——以东北国际健康城概念规划为例.pdf
一种新的启发式优化算法——五行环优化算法研究与分析.pdf
你是一支铅笔,独一无二、不可替代,你的存在一定具备某种价值;你将来能做很多大事,但是有一个前提,就是你不能盲目自由,你要允许自己被一只手握住,铅笔带给人们的启发与道理、哲理,铅笔的智慧ppt模板。
反高启发与反主动防御之路——基于源码的免杀技术(下)
一种新的启发式优化算法——五行环优化算法研究与分析.docx
趋势启发变革,转折昭示未来——中国二手车市场分析与前瞻.pdf
大道相通学易经——国学思想对当代管理实践的哲学启发.pptx
反高启发与反主动防御之路——基于源码的免杀技术(上)
狼群优化算法,一种新的启发式算法,很适合初学者学习使用,内部有文档说明,可以参考文档进行学习使用,同时对于深层学习具有很好的作用
计算机——信息处理工具教案 【课 题】计算机发展史 【教学目的】 知识目标 1、了解计算机的应用; 2、了解计算机发展的几个阶段及其特征; 能力目标 启发学生自己去发现信息技术与我们日常生活、工作的密切联系,...