画图板:从画图到重绘到保存
?
上一篇博文已经具体的构建了画图板的整个框架 ? 这里就具体的说明一下功能的实现问题
一、功能实现
1.简单的画图形
2.重绘:窗体最小化之后 打开窗体 画面不消失
3.保存文件: 把绘制出来的图片放在硬盘里?
二、难点分析
三、错误点集合
1.简单的画图形画图形分为三步:第一步:取画布// 给他drawpanel获取画布
//根据宽和高创建一个新的二维数组int[][] array = new int[height][width];//读取颜色把颜色放在新的二维数组里for(int i=0;i<height;i++)for(int j = 0;j<width;j++){array[i][j] = dis.readInt();}?所以在listener里面要把新数组赋给Point_Array 结果出现了问题?后来 就把Point_Array放进了drawlistener里就实现了
三、错误点集合1. 这个readfile函数里 return有点小技巧? 在try里面 return 这个二维数组 ?在外面 return null? ?说明 只有try了 才return??
2.ispaint的问题?出现整个drawpanel全部是黑色的情况?错点分析:?画布的设置颜色的方法传入的是颜色的一个int 值?g.setColor(new Color(POINT_ARRAY[i][j]));?这句代码 当画面上还没有绘制形状的时候POINT_ARRAY[i][j]都是零 ?而零表示黑色??所以一开始整个屏幕都是黑色??所以我们在listener里设置了一个布尔型的变量ispaint来判断他是否已经有内容??public static boolean isPaint = false; ??在mouserelease()函数的最后 当存入数据到数组中时 ?