简单画图板的创建

来源:互联网 发布:保湿精华 知乎 编辑:程序博客网 时间:2024/05/21 19:04
这是第一次细致地学习创建一个简单java项目,收获很多,不仅是专业知识,更多的是自己对Java项目整体创建的认识,这是一个由模糊变清晰的过程,那种豁然明白的感觉很好,首先对java项目创建有大致的认识,同一个包下建立几个java 类,在每个类里面自己定义类,包括属性和方法,在定义MyDrawFrame类的时候,用到了几个组件,窗体组件,面板组件,按钮,斌哥在讲解的时候自己听得非常清楚,但是自己写的时候却不时会出现语法错误,这是没有勤加练习的结果,我感觉最重要的是对包的理解,因为用到很多组件要知道引入哪些包才行,其次就是监听的过程,包括鼠标监听和动作监听,这是迄今为止我认为最值得注意和最重要的事情,mouselistenner和actionlistenner可以在别的类里定义,但是又会涉及到一个很重要的事情,比如说参数的传递问题,传递参数的时候我遇到的问题是这样的:尽管参数可以传递成功,但是却不能实现画图的操作,问题的原因:鼠标监听器的构造方法先于事件触发  则command和color的值产生构造方法之后,参数传递的时候command和color的值还是未赋值的,传过去之后会为null,则画图操作均不能执行,后来经过老师指点之后想到的解决办法是设置要传的变量为类的属性,传的时候传递当前对象,动态获取对象的属性来实现以下代码:
public MyMouseListener(Graphics gr,MyDraw2Frame my){g = gr;this.mydraw=my;

这是MyMouseListenner的构造方法,其中形参有两个,画布变量和MyDraw2Frame的对象,这样一来传递来的时候便是传递来一个这样子的对象,其中还有一个很重要的地方,就是传递来的时候不要在构造方法里面直接赋值两个标志的值,要在底下的鼠标监听里面动态获取才行,这样每次才能在mouseReleased里面获得当前的标志变量值以便进行判断进行画图,效果如下:

但是现在只能进行最简单的几个操作,只能画直线,画矩形,画椭圆以及几个最简单的几种图形,比如说画图板最常见的几种操作,橡皮擦或者铅笔,现在还是不能实现,我会不断完善,颜色可以随便添加的,我会继续完善

原创粉丝点击