Swing的MouseDrag(),MouseMoved()没有被调用问题
来源:互联网 发布:数据线上带充电宝 编辑:程序博客网 时间:2024/05/22 02:55
MouseDrag()与MouseMoved()没有被调用是因为添加的监听器有问题
下面就这个问题进行说明:
这里监听器为MouseAdpter的子类
使用addMouseMotionListener()时
MouseAdpter.MouseDraged()与MouseAdpter.MouseMoved()会被调用。
移动时-------------调用MouseMoved()
按住鼠标左键+移动-------调用MouseDraged()
下面全面说明一下MouseAdpter各个方法。
当使用addMouseListener()方法添加MouseAdpter时有效
mouseClicked(MouseEvent e)
mouseEntered(MouseEvent e) --------当鼠标进入(添加了监听器的)组件时调用,包括子组件
mouseExited(MouseEvent e) ----------当鼠标离开(添加了监听器的)组件时调用,包括子组件
mousePressed(MouseEvent e)
mouseReleased(MouseEvent e)
当使用addMouseMotionListener()方法添加MouseAdapter时有效
mouseDragged(MouseEvent e)
mouseMoved(MouseEvent e)
当使用addMouseWheelListener()方法添加MouseAdapter时有效(针对鼠标滑轮)
mouseWheelMoved(MouseWheelEvent e)
--------------------------------------------------------
MouseEvent的有用方法:
getX(),getY()----------------获取鼠标当前的位置
getModifies()--------------获取鼠标的左键或键盘点击
getClickCount()-----------获取鼠标点击的次数
getSource()---------------获取产生事件的事件源返回Object。
以下是测试代码:
class DnDAdapter extends MouseAdapter{@Overridepublic void mouseWheelMoved(MouseWheelEvent e) {// TODO Auto-generated method stubsuper.mouseWheelMoved(e);}@Overridepublic void mouseClicked(MouseEvent e) {// TODO Auto-generated method stubSystem.out.print("Clicked:");System.out.println("("+e.getX()+","+e.getY()+")");super.mouseClicked(e);}@Overridepublic void mouseEntered(MouseEvent e) {// TODO Auto-generated method stubSystem.out.print("Entered:");System.out.println("("+e.getX()+","+e.getY()+")");super.mouseEntered(e);}@Overridepublic void mouseExited(MouseEvent e) {// TODO Auto-generated method stubSystem.out.print("Exited:");System.out.println("("+e.getX()+","+e.getY()+")");super.mouseExited(e);}@Overridepublic void mousePressed(MouseEvent e) {// TODO Auto-generated method stubSystem.out.print("Pressed:");System.out.println("("+e.getX()+","+e.getY()+")");super.mousePressed(e);}@Overridepublic void mouseReleased(MouseEvent e) {System.out.print("Released:");System.out.println("("+e.getX()+","+e.getY()+")");super.mouseReleased(e);}public void mouseDragged(MouseEvent e) {System.out.println("("+e.getX()+","+e.getY()+")");super.mouseDragged(e);}@Overridepublic void mouseMoved(MouseEvent e) {// TODO Auto-generated method stub//System.out.println("("+e.getX()+","+e.getY()+")");super.mouseMoved(e);}}
- Swing的MouseDrag(),MouseMoved()没有被调用问题
- AVR/Atmel Studio延时函数没有被调用的问题
- panel mouseDrag
- 我是如何解决java swing中导出jar文件没有图片的问题的
- Java笔记---Swing 编程中添加组件没有立即显示的问题
- 关于API 23 中Fragment的public void onAttach(Context context) 没有被调用的问题
- Fragment的public void onAttach(Context context) 没有被调用的问题
- java没有打印异常调用堆栈的问题
- ArrayList中调用set()方法,没有插入数据的问题
- 关于调用adapter.notifydatasetchanged()没有效果的问题
- WKWebView调用window.open(url,"_blank”);没有反应的问题
- 一个关于View/ViewGroup onMeasure() onLayout()被调用了但是onDraw()没有被调用的问题分析
- Service的onServiceConnected没有被调用
- SPField的GetValidatedString方法没有被调用
- SPField的GetValidatedString方法没有被调用
- Android AsyncTask的onpostexecute没有被调用
- arc 的dealloc没有被调用
- Service的onServiceConnected没有被调用
- hadoop初学习(1)
- ORACLE绑定变量初解
- 14条建议,使你的IT职业生涯更上一层楼
- (Android) Handler Mechanism
- win 8(win 7)批处理设置IP
- Swing的MouseDrag(),MouseMoved()没有被调用问题
- Dragons
- 在安装phpmyadmin出现错误,提示缺少 mysqli 扩展。请检查 PHP 配置解决方案
- ORA-12091: 不能联机重新定义具有实体化视图的表
- System of Equations
- uva 10557
- C++通过写注册表实现将文件夹映射为系统虚拟盘
- IOS 图片阴影,圆角等处理
- 解决sqlplus连接oracle乱码