Swing界面之画图板小结

这篇博客总结了使用Swing创建一个简单的画图板的过程。通过继承JFrame,添加监听器(MouseListener和MouseMotionListener)来实现画直线和曲线的功能。作者提到,图形绘制在面板上,用Graphics对象进行绘制,并通过一个数组队列存储图形属性以便重绘。通过这次实践,作者加深了对Java编程思想的理解,尤其是类之间的参数传递和空指针异常的避免。
摘要由CSDN通过智能技术生成



 Swing界面实现画图板

最近几天在蓝杰集训,编写了一个简单的画图板。

 

实现画图板,首先需要创建一个继承JFrame的类,用这个类中父类的方法创建一个窗体并添加按键,为窗体和上面的按键添加监听器(监听器继承了接口Mouselistener、MouseMotionListener和ActionListioner)。

因为画图形需要在画板上获取坐标,所以添加的面板监听器是MouseListener(可以画直线和形状)和MouseMitionListener(可以画曲线)。用不同的Graphics的方法形状还可以多样化。

因为ActionListener中的方法中的getActionCommand可以用来获得按钮的信息,所以只为按键添加ActionListener。

因为每次改变窗体的显示范围或者最小化后重新打开窗体,窗体都会进行重绘,所以我们还需要创建一个数组队列来存储先相关的形状属性(另外新建一个形状的类,并创建一个个对象,对象里面存储了形状的信息的属性,我们可以用形状类的数组队列来存储一个个形状对象),在重写重绘方法的时候调用数组,重绘形状。

 

其中图形是画在面板上的,所以获取的Graphics是面板的Graphics,并且通过调用之前在监听器类中写好的获取画笔的方法传入监听器中(使用构造方法中的构造器传参的话,必须在创建对象时进行参数传递,假另外编写一个获取参数的方法的,可以更自由地在需要传入参数的时候进行参数传递),再对画笔的形状、粗细和颜色进行调整。

以下是我的窗体代码

public class logListener extends JFrame implements MouseListener{

	p
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值