java中mouselistener的用法_关于MouseListener接口的简单使用
用于接收组件上“感兴趣”的鼠标事件(按下、释放、单击、进入或离开)的侦听器接口。(要跟踪鼠标移动和鼠标拖动,请使用 MouseMotionListener。)
旨在处理鼠标事件的类要么实现此接口(及其包含的所有方法),要么扩展抽象类 MouseAdapter(仅重写所需的方法)。
然后使用组件的 addMouseListener 方法将从该类所创建的侦听器对象向该组件注册。当按下、释放或单击(按下并释放)鼠标时会生成鼠标事件。鼠标光标进入或离开组件时也会生成鼠标事件。发生鼠标事件时,将调用该侦听器对象中的相应方法,并将MouseEvent 传递给该方法。
其包含五个方法:
1.public void mouseClicked(MouseEvent e) 鼠标按键在组件上单击(按下并释放)时调用。
2.public void mouseEntered(MouseEvent e) 鼠标进入到组件上时调用。
3.public void mouseExited(MouseEvent e) 鼠标离开组件时调用。
4.public void mousePressed(MouseEvent e) 鼠标按键在组件上按下时调用。
5.public void mouseReleased(MouseEvent e) 鼠标按钮在组件上释放时调用。
下面几个简单例子:
package cn;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextArea;
public class MyMouseListenerText extends JFrame implements MouseListener {
private JLabel j = new JLabel("测试文本");// 用来测试的组件
private JTextArea jt = new JTextArea();
private JButton exit = new JButton("退出");
public MyMouseListenerText() {
j.addMouseListener(this);
this.add(j, BorderLayout.NORTH);
this.add(jt, BorderLayout.CENTER);
this.add(exit, BorderLayout.SOUTH);
this.setSize(500, 400);
this.setVisible(true);
this.setLocationRelativeTo(null);
exit.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
}
public static void main(String[] args) {
new MyMouseListenerText();
}
@Override
public void mouseClicked(MouseEvent e) {// 单击鼠标时执行的操作
jt.append("鼠标单击了此文本区域\n");
}
@Override
public void mouseEntered(MouseEvent e) {// 鼠标进入组件时执行的操作
jt.append("鼠标进入了此文本区域\n");
}
@Override
public void mouseExited(MouseEvent e) {// 鼠标离开组件时执行的操作
jt.append("鼠标离开了此文本区域\n");
}
@Override
public void mousePressed(MouseEvent e) {// 鼠标在组件上按下时执行的操作
jt.append("在此文本区域你按下了鼠标\n");
}
@Override
public void mouseReleased(MouseEvent e) {// 鼠标释放时执行的操作
jt.append("鼠标按键释放了\n");
}
}
另外也可以扩展抽象类 MouseAdapter,此时只需重写有用的方法。
另外还有几个重要的方法:
getX
(),
getY
()
:获取鼠标的坐标位置
getModifiers
()
:获取鼠标的左或右键
getClickCount
()
:获取鼠标被点击的次数
setCursor():控制鼠标指针的形状。如设置成漏斗:
setCursor
(
Cursor.getPredefinedCursor
(
Cursor.WAIT_CURSOR
))
java中mouselistener的用法_关于MouseListener接口的简单使用相关推荐
- java中arraycopy的用法_[jdk源码阅读系列]Java中System.arraycopy()的用法
本文转载,原文链接: 3分钟了解Java中System.arraycopy的用法 - 伊万夫斯基 - 博客园 https://www.cnblogs.com/benjieqiang/p/114288 ...
- java中trim函数用法_深入理解jQuery.trim() 函数及trim()用法
jQuery.trim() 函数及trim()用法详解 jQuery.trim()函数用于去除字符串两端的空白字符.该函数可以去除字符串开始和末尾两端的空白字符(直到遇到第一个非空白字符串为止).它会 ...
- java中next的用法_关于java iterator的next()方法的用法
UYOU next()是java迭代器类(Iterator)的方法,获得当前游标指向的下一个元素,详细说明和应用如下:1.迭代器(Iterator)介绍 迭代器是一种设计模式,它是一个对象,它可以遍历 ...
- JAVA中的request用法_新手入门:介绍JSP中request属性的用法
一.request.getParameter() 和request.getAttribute() 区别 (1)request.getParameter()取得是通过容器的实现来取得通过类似post,g ...
- java中nodelist的用法_我可以在Java中使用for-each遍历一个NodeList吗?
这个问题的解决方法是直截了当的,而且幸运的是你必须实现一次. import java.util.*; import org.w3c.dom.*; public final class XmlUtil ...
- java中math.ceil用法_[Java教程]关于Math类的round、floor、ceil三个方法
[Java教程]关于Math类的round.floor.ceil三个方法 0 2014-05-06 16:00:08 一.Math类这三个方法的简介 1.round():取最接近的值. 对于这个方法, ...
- java中compile函数用法_【转】关于java中Pattern.compile函数的相关解释
Pattern.compile函数:Pattern Pattern.compile(String regex, int flag) flag的取值范围如下: Pattern.CANON_EQ,当且仅当 ...
- java中demo接人_return的用法_如何理解java中return的用法?
C语言中return用法?(请熟练者进) return是返回值,这个返回值是和函数的类型有关的,函数的类型是什么,他的返回值就是什么 比方主函数intmain() {}这里就必须有一个return,只 ...
- java finally用法_深入浅析java中finally的用法
finally作为异常处理的一部分,它只能用在try/catch语句中,并且附带一个语句块,表示这段语句最终一定会被执行(不管有没有抛出异常),经常被用在需要释放资源的情况下. 之前在写爬虫的时候数据 ...
最新文章
- 在MAC平台下使用Eclipse出现了中文乱码
- 共模干扰和差模干扰(图解)---摘自: 硬件十万个为什么
- HDU - 5517 Triple(三维偏序-二维树状数组/CDQ分治)
- UIView转UIimage
- BZOJ——1614: [Usaco2007 Jan]Telephone Lines架设电话线
- 上海电子信息职业技术学院计算机网络技术,上海电子信息职业技术学院计算机网络技术专业...
- 单手撸了个springboot+mybatis+druid 1
- spring学习笔记--IOC接口
- MySQL数据库反向生成powerdesigner模型
- 动画算计算机专业吗,能够定义角色功能的计算机动画系统属于。 (1.0分)
- 拓端tecdat|r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化
- 洛谷P2580 于是他错误的点名开始了 题解
- 零基础如何学习C语言
- vbs脚本的基本使用
- gitlab-runner 注册失败
- IOS开源项目Telegram初试
- 高德地图安卓 拖拽选点_高德地图想再造一个大众点评?
- 如何将ida中的悬浮窗口恢复原位
- oracle如何实现自增?----用序列sequence的方法来实现
- win7无线热点_电脑小技巧电脑做无线热点