Java基础之简单画图板的实现

最后,要实现画图,就必须获取画笔对象,获取画笔对象需要注意两点:

1、图形画在哪个图形上,那么画笔组件就在这个图形上获取

2、获取画笔对象,一定在窗体可见之后

3、获取的画笔对象必须要用一个方法来传给自己定义的事件监听类中

实现代码如下:

其中DrawMouse类中定义了

public void setG(Graphics g) {

this.g = g;

}

方法来传递画笔。

以上的基本工作完成之后,就关注可以具体如何画出一个图形出来。

定义一个DrawMouse类继承了接口MouseListener, ActionListener,MouseMotionListener

首先需要实例化一个Graphics对象g来接收传过来的画笔对象,由于我使用的是字符串数组来储存按钮上面的字符串,以及Color类的数组储存按钮的背景颜色,所以在重写ActionListener接口中的actionPerformed方法时,要首先获取按钮上的颜色或者文字,当获取的不是文字时,说明点击的是颜色按钮,读取按钮的颜色后给设置画笔的颜色;如果读取的是文字时,需要继续下一步的操作,实现代码如下:

Java中提供了许多画图形的方法,画图的时候毫无疑问需要获取一定数量的坐标值,在继承的接口中的方法里,有一个MouseEvent类型的形参e,可以通过调用getX(),getY()来获取经一定操作后当前位置的坐标的x值或y值。

用画笔实例化的对象调用drawLine(x1,y1,x2,y2)方法可以画一条直线,x1,x2,y1,y2分别代(起点的x值,中点的x值,起点的x值,中点的x值)而实现画笔的功能可以看作不断地画长度很小的直线所以个可以通过此方法来实现:

使用画笔对象g调用drawRect(x1,y1x2,y2)方法可以实现画一个矩形,但需要注意的是,x1,y1代表的是矩形左上顶点的坐标,也就是矩形四个点的坐标中x,y值都取最小的那个点。使用drawOval(x1,y1x2,y2)方法实现画一个椭圆,画出的椭圆可以看作是一个矩形的内切椭圆,原理和drawRect方法类似。

最后:学习总结——MyBtis知识脑图(纯手绘xmind文档)

学完之后,若是想验收效果如何,其实最好的方法就是可自己去总结一下。比如我就会在学习完一个东西之后自己去手绘一份xmind文件的知识梳理大纲脑图,这样也可方便后续的复习,且都是自己的理解,相信随便瞟几眼就能迅速过完整个知识,脑补回来。下方即为我手绘的MyBtis知识脑图,由于是xmind文件,不好上传,所以小编将其以图片形式导出来传在此处,细节方面不是特别清晰。但可给感兴趣的朋友提供完整的MyBtis知识脑图原件(包括上方的面试解析xmind文档)

image

除此之外,前文所提及的Alibaba珍藏版mybatis手写文档以及一本小小的MyBatis源码分析文档——《MyBatis源码分析》等等相关的学习笔记文档,也皆可分享给认可的朋友!

加入社区:https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0
记文档,也皆可分享给认可的朋友!

加入社区:https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值