java监听器是什么_Java监听器
在前面我们学习了图形界面的制作之后,顺其自然的我们会想到,要怎样才能实现登录等功能,如果只有一个界面,显然没有任何的实际意义。
今天和大家一起学习的是Java监听器的使用,有了这方面的知识,相信大家能够对图形界面有更深入的了解。
事件监听器:
在swing事件模型中由3个分离的对象完成对事件的处理,分别为事件源,事件以及监听程序。
事件源触发一个事件,它被一个或多个“监听器”接受,监听负责处理事件
什么是事件监听器呢?所谓事件监听器实际是就是一个“实现特定类型监听器接口”的类对象。
下面先为大家介绍动作事件监听器:
很多事件都会使用它进行监听:如按钮被单击
事件名称:ActionEvent
事件源:JButton,JList,JTextField
监听接口:ActionListener
添加或移除相应类型的监听器的方法:
addActionListener(),removeActionListener()
下面来看具体的实例:
我们本次要完成的是登录功能的实现,即当你的账号密码正确时显示登录成功;
/***********************************/
定义图形界面代码略
/**********************************/
我们首先要做的是定义一个监听类:
public class DrawListener implements ActionLisener{
private JFrame frame;
private JTextField account;
private JPasswordField password;
//写构造函数,将需要用到的对象传参进来public DrawListener(JFrame frame,JTextField account,JPasswordField password){
this.frame=frame;
this.account=account;
this.password=password;
}
//按下ctrl+左键点击ActionLisener查看源码,重写接口中定义的方法public void actionPerformed(ActionEvent e){
//password.getPasswird()得到的是char[]类型的数据,需转化为String类,用String.valueOf()实现if(String.valueOf(password.getPassword()).equals("123456")&&account.getText().equal("791072385")){
System.out.println("登录成功");
frame.dispose();//关闭原来的登录界面,}
else System.out.println("账号或密码错误,请重新登录~");
}
}
接下来在主函数所在类的中添加监听。
即:
DrawListener dl=new DrawListener(frame,account,password);//初始化监听类对象button.addActionListener(dl);//对按钮button对象实现监听
然后运行调试即可实现登录。
当然也可以在actionPerformed()函数中定义一个窗体,当账号密码通过时弹出一个登录成功的窗口。
在这儿就不做过多解释了
常用的事件监听器还有很多:
焦点事件监听器:
事件名称:FocusEvent
事件源:JPassordField,JTextField,Component以及派生类
监听接口:FocusListener
添加或移除相应类型的监听器的方法:
addFocusListener(),removeFocusListener()
//利用该监听器,我们可以实现,账号密码登录框在没有点击的时候出现请输入登录密码等等,点击的时候变为空白
鼠标点击事件监听器:
事件名称:MouseEvent
事件源:画板等
监听接口:MouseListener
添加或移除相应类型的监听器的方法:
addMouseListener(),removeMouseListener()
//利用此监听器我们可以实现在画图板中绘制直线,矩形,圆
鼠标移动事件监听器:
事件名称:MouseMotionEvent
事件源:画板等
监听接口:MouseMotionListener
添加或移除相应类型的监听器的方法:
addMouseMotionListener(),removeMouseMotionListener()
//利用此监听器我们可以实现画图板中的橡皮擦,刷子等功能
鼠标滑轮滚动事件监听器:
事件名称:MouseWheelEvent
事件源:画板等
监听接口:MouseWheelListener
添加或移除相应类型的监听器的方法:
addMouseWheelListener(),removeMouseWheelListener()
以上监听器的具体使用方法在这里不一一具体使用,以后实现画图板的时候会具体讲,大概的使用方法和ActionListener都差不多,小伙伴们可以自己动手尝试一下。
java监听器是什么_Java监听器相关推荐
- java listener详解_Java监听器Listener使用详解
监听器是一个专门用于对其他对象身上发生的事件或状态改变进行监听和相应处理的对象,当被监视的对象发生情况时,立即采取相应的行动.监听器其实就是一个实现特定接口的普通java程序,这个程序专门用于监听另一 ...
- java listener 实现机制_Java监听器机制ServletContextListener实现执行某方法函数
Java监听器机制ServletContextListener实现执行某方法/函数 在web项目中有很多时候需要在项目启动时就执行一些方法,而且只需要执行一次,比如:加载解析自定义的配置文件.初始化数 ...
- java 过滤js事件_java中的过滤器与监听器
过滤器: Filter本身并不生成请求和响应对象,只是提供过滤功能. Filter能够在Servlet被调用之前检查Request对象,并修改Request Header和Request内容:在Ser ...
- java监听器详解_java之监听器详解
监听器接口定义了一个类要成为监听器必须具备的功能.所有的监听器接口也都必须继承监听器接口基类 java.util.EventListener:EventListener本身没有定义任何方法,它只是一个 ...
- Java监听器的处理方法_Java监听器的简单使用
监听器在Java开发过程中发挥着重要作用,我们经常需要在系统刚一启动就要执行某些任务或进行某些操作,还有在统计当前在线用户数目时也需要使用监听器,因此有必要了解一下Java中监听器的使用过程和原理. ...
- java中的过滤器与监听器
过滤器: Filter本身并不生成请求和响应对象,只是提供过滤功能. Filter能够在Servlet被调用之前检查Request对象,并修改Request Header和Request内容:在Ser ...
- Java:MouseListener、MouseMotionListener监听器与MouseEvent事件
目录 1. 监听器-MouseListener(鼠标监听器): 2. 监听器-MouseMotionListener(鼠标运动监听器): 3. 事件类MouseEvent: 链接:JDK文档 3.1 ...
- java的响应机制_JAVA事件响应机制
JAVA事件响应机制 1,先自定义一个事件 public class MyEvent extends java.util.EventObject{ public MyEvent(Object sour ...
- java 实现ps功能_java 简单图片,可以实现ps的几个小滤镜
java 简单图片,可以实现ps的几个小滤镜 以下教你实现图片马赛克,黑白画,珠纹化,油画效果等处理技术原理及实现.看完自己也可以简单的玩一玩. 1. 需要用到的包 java.awt // 用于创建用 ...
最新文章
- R语言使用gt包和gtExtras包优雅地、漂亮地显示表格数据:使用gt包可视化表格数据,使其易于阅读和理解、使用gtExtras包添加一个图,显示表中某一列中的数字
- Spring MVC 下设置默认访问页面的3种方式
- 任务中断间的同步与通信概述
- 户外私密Party | 在大峡谷里聊一点平时不能聊的干货(报名ing...)
- java的图形界面上传附件_Java图形界面(GUI) 动态获取上传或下载文件的路径问题...
- CGLIB代理到底是个什么东西?这是一篇最全的CGLIB大全
- java主类型_Java主类结构:基本数据类型
- TensorFlow:交叉熵损失函数
- 细说进程、应用程序域与上下文之间的关系(三)—— 深入了解.NET上下文
- Protobuf版本下载地址
- 汽车电工及电子技术基础【3】
- web开发html如何把图片居中,css中怎么让img图片居中
- html页面嵌入高德地图,高德地图WEB版基础控件展示
- stm32f103r8t6的晶振频率_STM32F103R8T6
- 华硕路由桥接模式进入不了界面
- 手机、浏览器的分辨率、状态栏参数
- 【无标题】SEO优化
- 求解TSP问题神器——elkai(简单好用)
- 运营干货:虾皮店铺装修怎么做?
- ajax从服务器获取图片,JQuery ajax与POST从CORS启用服务器获取图像/ png
热门文章
- Unity3d 2019.3 通过 Ctrl 键让移动是固定步距
- npm ERR! code ERESOLVEnpm ERR! ERESOLVE could not resolve dependency
- MongoDB配置副本集(含Arbiter)
- 【QGIS入门实战精品教程】10.2:QGIS中DEM三维显示方法
- 服饰搭配:色彩与材质
- 吃鸡无线重新链接服务器,吃鸡跟新时发生错误 无法连接更新服务器 | 手游网游页游攻略大全...
- Java打板_AI 打板模型原理与实践
- java workflow jbpm_工作流(workflow)定义和jBPM
- Centos 7安装Quagga
- Docker搭建持续集成平台jira