概述
MouseEvent事件
MouseEvent是鼠标事件,对应的监听器其中之一是MouseListener接口,该接口中的方法如下:
//鼠标点击时
public void mouseClicked(MouseEvent me);
//鼠标进入时
public void mouseEntered(MouseEvent me);
//鼠标离开时
public void mouseExited(MouseEvent me);
//鼠标按下时
public void mousePressed(MouseEvent me);
//鼠标释放时
public void mouseReleased(MouseEvent me);
因为大部分监听类中包含多个方法,我们要根据具体需求选择覆盖其中某个或某些方法,比如:在登录界面中,如果用户姓名的文本框中有默认文本,我们希望鼠标点击后文本消失,则使用鼠标点击事件。
首先我们需要在LoginFrame类中的init( )方法中增加给文本框设置默认文本和添加监听的方法,如示例1所示。
【示例1】MouseEvent事件—LoginFrame类中新增代码
//在用户姓名的文本框中添加默认文本
txtUserName.setText("请输入用户姓名");
//在用户姓名的文本框上添加鼠标事件
txtUserName.addMouseListener(new LoginFrame_txtUserName_MouseListener(this));
【示例2】MouseEvent事件—单击文本框监听类
package
cn.sxt.mouseevent.listeners;
import
java.awt.event.MouseEvent;
import
java.awt.event.MouseListener;
import
cn.sxt.mouseevent.views.LoginFrame;
/**
* 清空文本框功能监听类
* @author 高淇
*/
public class LoginFrame_txtUserName_MouseListener implements MouseListener {
private LoginFrame lf;
public
LoginFrame_txtUserName_MouseListener(LoginFrame lf) {
this.lf = lf;
}
@Override
public void mouseClicked(MouseEvent e) {
// 将登陆界面中的用户姓名文本框中的文本清除
this.lf.getTxtUserName().setText("");
}
@Override
public void mousePressed(MouseEvent e) {
}
@Override
public void mouseReleased(MouseEvent e) {
}
@Override
public void mouseEntered(MouseEvent e) {
}
@Override
public void mouseExited(MouseEvent e) {
}
}
执行结果如图所示:
由以上两个案例可见,我们做事件时,先要确定事件源,在事件源上添加事件监听程序,在事件监听类中的相应方法中添加业务逻辑。其他事件流程一样,以下不再赘述。
MouseEvent 其它监听
MouseEvent也可以对应鼠标运动事件,对应监听器是MouseMotionListener接口,其中方法如下:
//鼠标移动时
public void mouseMoved(MouseEvent me);
//鼠标拖动时
public void mouseDragged(MouseEvent me);
「全栈Java笔记」是一部能帮大家从零到一成长为全栈Java工程师系列笔记。笔者江湖人称 Mr. G,10年Java研发经验,曾在神州数码、航天院某所研发中心从事软件设计及研发工作,从小白逐渐做到工程师、高级工程师、架构师。精通Java平台软件开发,精通JAVAEE,熟悉各种流行开发框架。
笔记包含从浅入深的六大部分:
A-Java入门阶段
B-数据库从入门到精通
C-手刃移动前端和Web前端
D-J2EE从了解到实战
E-Java高级框架精解
F-Linux和Hadoop
最后
以上就是欣慰汉堡为你收集整理的15.3-全栈Java笔记:MouseEvent事件类型可以实现哪些功能?的全部内容,希望文章能够帮你解决15.3-全栈Java笔记:MouseEvent事件类型可以实现哪些功能?所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复