以JTextPanel为例Swing的鼠标事件详解
如下界面可以通过该界面研究一下Swing的鼠标事件:
图中用红粗线圈起来的为JtextPanel,该Panel添加了鼠标事件监听器,鼠标事件监听器有三种,分别为MouseWheelListener,MouseMotionListener和MouseListener分别用来监听鼠标的滑轮事件,鼠标的移动事件,和一般的鼠标事件。
通过给JtextPanel添加鼠标事件监听器和加上打印信息后很容易就能摸得着鼠标事件的规律,滑轮事件不用说了,鼠标移动事件包括Dragged和Moved,这两种事件只要鼠标在移动不论是动还是被按住拖拽都会不断的触发事件, 一般鼠标事件有Pressed,Released,Clicked,Entered,Exited,以选中TextPanel中下面的一段文字进行说明各事件:只要鼠标在TextPanel中移动就不断的触发Moved,离开TextPanel区域就会触发Exited,进入则有Entered, 鼠标点击则Clicked(其实还包括Pressed和Released),选中的过程中开始有Pressed,中间是不断的Dragged,结束后是Released. 其实很容易记,下次记住就不用每次都做实验了!
下面是代码片段
docTextPane = new JTextPane();
docTextPane.addMouseWheelListener(new MouseWheelListener() {
public void mouseWheelMoved(MouseWheelEvent e) {
System.out.println("Mouse WheelMoved");
}
});
docTextPane.addMouseMotionListener(new MouseMotionAdapter() {
@Override
public void mouseDragged(MouseEvent e) {
System.out.println("Mouse Dragged");
} @Override
public void mouseMoved(MouseEvent e) {
System.out.println("Mouse mouse Moved");
}
});
docTextPane.addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent e) {
System.out.println("Mouse mouse Pressed");
} @Override
public void mouseReleased(MouseEvent e) {
System.out.println("Mouse mouse Released");
} @Override
public void mouseClicked(MouseEvent e) {
System.out.println("Mouse mouse Clicked");
} @Override
public void mouseEntered(MouseEvent e) {
System.out.println("Mouse mouse Entered");
} @Override
public void mouseExited(MouseEvent e) {
System.out.println("Mouse mouse Exited");
}
});
以JTextPanel为例Swing的鼠标事件详解的更多相关文章
- js中鼠标滚轮事件详解
js中鼠标滚轮事件详解 (以下内容部分内容参考了http://adomas.org/javascript-mouse-wheel/ ) 之前js 仿Photoshop鼠标滚轮控制输入框取值中已使用 ...
- JavaScript中的鼠标滚轮事件详解
JavaScript中的鼠标滚轮事件详解/*Firefox注册事件*/ ~~~Firefox: addEventListener('DOMMouseScroll', handler, false)if ...
- js keyup、keypress和keydown事件 详解
js keyup.keypress和keydown事件 详解 js keyup.keypress和keydown事件都是有关于键盘的事件 当一个按键被pressed 或released在每一个现代浏 ...
- JavaScript事件详解-Zepto的事件实现(二)【新增fastclick阅读笔记】
正文 作者打字速度实在不咋地,源码部分就用图片代替了,都是截图,本文讲解的Zepto版本是1.2.0,在该版本中的event模块与1.1.6基本一致.此文的fastclick理解上在看过博客园各个大神 ...
- JavaScript事件详解-zepto的事件实现
zepto的event 可以结合上一篇JavaScript事件详解-原生事件基础(一)综合考虑源码暂且不表,github里还有中文网站都能下到最新版的zepto.整个event模块不长,274行,我们 ...
- JAVASCRIPT事件详解-------原生事件基础....
javaScirpt事件详解-原生事件基础(一) 事件 JavaScript与HTML之间的交互是通过事件实现的.事件,就是文档或浏览器窗口中发生的一些特定的交互瞬间,通过监听特定事件的发生,你能 ...
- 【转载】C# 中的委托和事件(详解:简单易懂的讲解)
本文转载自http://www.cnblogs.com/SkySoot/archive/2012/04/05/2433639.html C# 中的委托和事件(详解) C# 中的委托和事件 委托和事件在 ...
- Unity3D NGUI UIPlayTween(原UIButtonTween)动画事件详解
http://blog.csdn.net/asd237241291/article/details/8507817 原创文章如需转载请注明:转载自 脱莫柔Unity3D学习之旅 Unity3D引擎技术 ...
- Delphi下利用WinIo模拟鼠标键盘详解 有参考价值
https://blog.csdn.net/fgrass_163/article/details/6365296 Delphi下利用WinIo模拟鼠标键盘详解 2011年04月26日 21:03:00 ...
随机推荐
- 使用MDK将STM32的标准库编译成lib使用
1 .使用MDK将STM32的标准库编译成lib使用[图文] http://www.cnblogs.com/zyqgold/p/3189719.html
- How to configure CDB in Qt Creator(使用VC调试器)
I was having the same problems too, and finally figured out how to solve this. Styne666 gave me a hi ...
- log4net使用经验总结
下面介绍几条我认为比较好的经验,让我们更好的运用log4net 1.web程序时不把log4net的配置文件放在web.config中 原因:一个项目随着需求的变更,配置字节会特别多,不便查阅及维护. ...
- [poj 1904]King's Quest[Tarjan强连通分量]
题意:(当时没看懂...) N个王子和N个女孩, 每个王子喜欢若干女孩. 给出每个王子喜欢的女孩编号, 再给出一种王子和女孩的完美匹配. 求每个王子分别可以和那些女孩结婚可以满足最终每个王子都能找到一 ...
- Android面试题收集(有具体答案)
Android面试题目及其答案 1.Android dvm的进程和Linux的进程, 应用程序的进程是否为同一个概念 DVM指dalivk的虚拟机.每个Android应用程序都在它自己的进程中执行,都 ...
- SVN 1.8.x 服务器安装(转)
目录[-] 一. SVN 服务器下载.安装 1. 关于 Subversion 1.8.11 2. 兼容性问题 3. 安装包下载 3.1 VisualSVN 3.2 Win32Svn 3.3 SlikS ...
- CSDN高校俱乐部2013年秋季北京地区第一站“编程语言的应用及其发展”—北京联合大学
2013年12月11日晚17:00.CSDN高校俱乐2013年秋季北京地区第一站“编程语言的应用及其发展”在北京联合大学进行. 首先,CSDN总部人员介绍CSDN俱乐部的改版以及线上编程挑战赛.CSD ...
- wxpython 32 位 ,python 64 位问题
在安装Python Wxpython模块后,导入包的时候,会提示不支持64位的支持,需要安装Pythons 32 位,或者强制,使用Python 32 模式运行即可 在终端输入: defaults w ...
- QT中的pro文件的编写
原地址:http://blog.csdn.net/fjb2080/article/details/4833666 我们在编译QT的工程的时候,一般都会让qmake自动生成,但有时我们需要定制我们的工程 ...
- [置顶] ※数据结构※→☆线性表结构(queue)☆============队列 顺序存储结构(queue sequence)(八)
队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表.进行插入操作的端称为队尾,进行删除操作的 ...