自定义指令 个人收款码 金融信贷 vue开发文档 vue标签 管理后台模板 在线考试系统代码 多商户商城模板 bootstrap中文api文档 jquery关闭当前窗口 oracle删除字段sql 手机banner常用尺寸 查看rabbitmq版本 mysql卸载重装 pcm接口 css选择器有几种 linux查找文件内容 kubernetes实战 河南普通话报名入口 python类 python学习入门 python或运算 python怎么下载安装 python路径设置 java中substring java类型 java循环语句 java实例变量 java实例方法 javalist转数组 迷宫解锁 源计划卡特 js转int php取整函数 eclipse中文版下载 手机模拟器下载 摩斯密码在线翻译 华为动态照片 草图大师版本转换器 设备管理器在哪
当前位置: 首页 > 学习教程  > 编程语言

Java Swing(七):鼠标事件MouseEvent

2020/10/8 19:34:19 文章标签:

鼠标事件MouseEvent 可以给控件/界面添加鼠标事件有三种监听器: 1.addMouseListener 点击,按住,抬起,移入,移出 2.addMouseMotionListener 移动,拖动 3.addMouseWheelListener 鼠标滚轮转动 MouseListener…

鼠标事件MouseEvent

可以给控件/界面添加鼠标事件有三种监听器:
1.addMouseListener 点击,按住,抬起,移入,移出
2.addMouseMotionListener 移动,拖动
3.addMouseWheelListener 鼠标滚轮转动
MouseListener接口下要覆盖五个方法:mouseClicked,mouseEntered,mouseExited,mousePressed,mouseReleased分别对应不同的鼠标事件。
对于鼠标事件MouseEvent的常用方法:
getX()/getY 获取当前点击位置的坐标(相对于界面)
getXOnScreen()/getYOnSreen() 获取当前点击位置的坐标(相对于屏幕)
getSource() 点击的控件
getButton() 左键/中建/右键
getClickCount() 单机/双击/三击
由于每次使用MouseListener接口都要重写五个方法,所以改用抽象类MouseAdapter,要用哪个就写哪个。

以mouseClicked为例代码:

root.addMouseListener(new MouseAdapter(){            
 	@Override            
 	public void mouseClicked(MouseEvent e){                
 		if(e.getButton() == MouseEvent.BUTTON1) System.out.println("左键");                
 		else if(e.getButton() == MouseEvent.BUTTON2) System.out.println("中键");                
 		else if(e.getButton() == MouseEvent.BUTTON3) System.out.println("右键");
 	
		int cc = e.getClickCount();                
		if(cc == 1) System.out.println("单机");                
		else if(cc == 2) System.out.println("双击");
	
		System.out.println("鼠标位置:" + e.getX() +  "," + e.getY());                
		System.out.println("------------");            
	}        
});

MouseWheelListener滚轮事件

例:


MouseWheelListener wheelListener = new MouseWheelListener(){            
 	@Override            
 	public void mouseWheelMoved(MouseWheelEvent e){                
 		Image image = canvas.getImage();                
 		int i;                
 		for(i=0;i<buttons.size();i++){                    
 			if(buttons.get(i).getImage()==image) break;                
 		}                
 		ThumbButton button = buttons.get(i);                
		if(e.getUnitsToScroll()>0){ //滚轮向下时e.getUnitsToScroll()大于0                    
 			button = nextImage(i);                
 		}else{ //滚轮向上时e.getUnitsToScroll()小于0                    
 			button = lastImage(i);                
 		}                
 		setBlueBorder(button);            
 	}        
};

本文链接: http://www.dtmao.cc/news_show_250157.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?