创建一个画板(MouseListener的应用)

在上一章我们学会了如何用paint函数在窗体上来绘制我们想要的图形,但是如果每次绘图都要这样操作,实在太麻烦了。于是,我们可以考虑用鼠标来绘制。

就像之前我们的ActionListener一样,我们这次要用到的也是一个接口,叫做MouseListener。

MouseListener作用:

1.可以得到鼠标的操作信息,如坐标,按键,使用方式。

2.可以在相关操作后执行定义好的方法。

那让我们开始做一个画板吧。

1.加上按钮(可以使得画板作用更清晰,而方法在界面设计中已经提到)
2. 创建新的类来实现接口了。(值得注意的是,这次我们用到了ActionListener与MouseListener两个接口,可以同时实现)

3.复制接口的方法。

按住ctrl,同时点击接口,在里面进行复制,粘贴到{}内。否则,将会报错。

4.将按钮与界面都和监听器绑定在一起。

5.写好按钮的反应(因为我们点击按钮,只是为了知道要绘制什么图形,所以只用得到命令)

6.写好鼠标的反应:

a.鼠标按压(释放)时记录鼠标坐标(释放与下图同理):

 值得注意的MouseEvent参数e中含有鼠标信息。

b:释放操作添加绘制命令。

每一个可视化对象对应都有一个Graphics g,而我们需要将界面的g传给我们Mouse类中,否则无法判断在何处绘制。

判断好后,开始设置绘制命令:

 值得注意的是,由于圆(矩形)参数为起点,宽,高。

我们要将横纵坐标的小值作为起点,横纵坐标差的绝对值作为宽/高。

不然的话,容易出现当鼠标不往右下角移动,无法绘制圆与矩形,或者与移动方向不同。

7.最后检验效果:

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值