在java的编程中,对于图形界面不可避免的要使用监听器。在学习的过程中,我对于监听器的使用一直不是很明白。在后来的练习中自己琢磨老师的代码,自己尝试监听器所传的对象,还是可以用监听器来实现画图,分形等的制作。
实现监听器的关键字是:implements
格式:
public class 类名 extends 类名或抽象类 implements 接口名,... {
}
类实现了监听器后,那么类必须要实现接监听器中的抽象方法,否则程序报错。就像下面的事件监听器方法:ActionListener(ActionListener al); 动作监听器方法 抽象方法为:鼠标的单击和键盘的回车
MouseListener(MouseListener ml); 鼠标监听器方法 抽象方法为:鼠标进入事件源、离开事件源、在事件源按下,在事件源上释放,在事件源单击
MouseMotionListener(MouseMotionListener mml);鼠标移动监听器方法 抽象方法为:鼠标在事件源移动时、鼠标在事件源拖动时
KeyListener(KeyListener kl); 键盘监听器方法 抽象方法为:在事件源发生键盘操作(需要自己设定actioncommand)。
也就说实现监听器时,要implements这些事件接口:ActionListener、MouseListener、MouseMotionListener、KeyListener。然后就可以在抽象方法中实现想要的监听效果,利用监听器画线,画点集画出分形图案。
public class DrawSanLis implements ActionListener{
private Graphics g;
//监听器要传到的类的新建对象,使监听器传到其中
private ShaiZi dr;
//重载监听器的构造方法,使添加监听器的时候添加画布
public DrawSanLis(Graphics g,ShaiZi dr) {
this.g = g;
this.dr=dr;
}
//ActionListener的抽象方法
public void actionPerformed(ActionEvent e) {
g.drawLine(1,1,2,2);
}
}
这是实现监听器类的代码,就是简单的利用监听器画一条线。
JButton bu1= new JButton("开始");
Graphics g1=this.getGraphics();
DrawSanLis dsl=new DrawSanLis(g1,this);
bu1.addActionListener(dsl);
如上代码是监听器在要传到的类中的实现,将监听器传到一个按钮上。只要按下按钮就会触发监听器,监听器将调用抽象方法。在引用监听器的类中还要得到画布,从而在这个类中使用画布进行画线。新建的监听器对象运用重载的构造方法,将监听器加到按钮中。最终将两个类连接,并且在界面类中实现画线。
各种的监听器都有自己独自的妙用,感觉自己对于监听器还不是很熟练。在以后的练习中只要有图形界面就会用到监听器,也会越来越复杂。理清各个类的关系与传值还是必须的。
分享到:
相关推荐
项目管理利器——maven,技术开发学习类稳定档案顶顶顶顶
普通人的编辑利器——VIM_(for_windows)
开放式工业控制系统的软件开发技术—— CODESYS V3 基础编程指南, CoDeSys 是德国3S 公司的PLC 编程软件,全球有近350 家知名的自动化产品和方案供应商是3S 公司的合作伙伴,这其中较著名 的有ABB 的Control ...
### PLC综合开发利器——CoDeSys基础编程及应用指南 #### IEC61131-3标准 ##### IEC61131简介 IEC61131是国际电工委员会制定的一系列用于工业控制系统编程的标准。该标准旨在为工业自动化领域的编程提供统一的框架...
FTP利器——FileZilla,FileZilla_3.13.1_win64-setup.exe
FlexLib是iOS开发中的一款创新工具,它将前端布局模型——Flexbox引入到原生的iOS应用开发中,极大地简化了界面构建的过程。这个开源项目旨在解决iOS界面设计中的复杂性问题,使得开发者能够如同编写网页布局那样,...
【wxFormBuilder图形界面利器】是一款强大的图形化界面设计工具,专为开发者提供便捷的代码生成服务,尤其适合初学者掌握基本的编程语言中的图形界面(GUI)开发。这款工具支持多种编程语言,如C++和Python,允许...
吃鸡好利器——游戏路由器导购.pdf
《Java开发利器——Hibernate 开发及整合应用大全》一书源代码第一部分,共4部分。分享有给需要的朋友!
迁移数据上云的利器——Amazon Snowball
Java开发利器——Hibernate 开发及整合应用大全.zip.004
介绍未名学术搜索的一款PPT,作者是北京大学丁艳君,日期为20151023。
《Java开发利器——Hibernate 开发及整合应用大全》光盘第三部分.zip.003
《Java开发利器——Hibernate 开发及整合应用大全》一书光盘,由于大小问题,共分4部分上传。现在是第二部分。
迁移数据上云的利器——AWS Database Migrat。。。。。。
克服功耗挑战的利器——美国国家半导体PowerWise产品.pdf
在"深度学习利器——Tensorflow程序设计"中,我们将探讨以下几个关键知识点: 1. **TensorFlow基础知识**:TensorFlow的核心概念是张量(Tensor),它是多维数组,可以表示各种类型的数据。张量之间通过计算图进行...
第20章 MySQL管理利器——MySQL Utilities 共5页.pptx 第21章 读写分离的利器——MySQL Proxy 共5页.pptx 第22章 PHP操作MySQL数据库 共7页.pptx 第23章 新闻发布系统数据库设计 共6页.pptx 第24章 论坛管理系统...