环球今热点:鼠标事件——MouseEventer接口的5个方法
鼠标事件
(资料图)
鼠标事件 MouseEvent,包括以下动作:
mouseClicked //鼠标点击mousePressed //鼠标按下mouseReleased //鼠标抬起mouseEntered //鼠标移入mouseExited //鼠标移除mouseMove //鼠标移动mouseDragged //鼠标拖拽mouseWheelMoved //鼠标滚轮
所有动作分为三类监听器:
addMouseListener() //点击、按下、抬起、移入、移出addMouseMotionListener() //移动、拖拽addMouseWheelListener() //鼠标滚轮转动
MouseListener接口有5个方法,每次实现时要重写它们:
panel.addMouseListener(new MouseListener() {@Overridepublic void mouseReleased(MouseEvent e) {}@Overridepublic void mousePressed(MouseEvent e) {}@Overridepublic void mouseExited(MouseEvent e) {}@Overridepublic void mouseEntered(MouseEvent e) {}@Overridepublic void mouseClicked(MouseEvent e) {}});
注意:鼠标点击事件(mouseClicked)触发的时机:按下和松开在同一个点。如果是判断双击和三机,有时间限制。如果是双击,会先出发单击;如果是三击,会先出发双击、单击
鼠标事件对象 MouseEvent:
getX() / getY() //点击中的坐标,相对于该控件getXOnScreen() / getYOnScreen() //相对于屏幕的坐标getSource() //事件源,即点中的控件getButton() //左键、中键、右键getClickedCount() //单击、双击、三击
鼠标适配器
假设我们只需要鼠标点击事件,但是在实现 MouseListener 接口时发现要重写所有的 5 个方法,太冗余。
MouseAdapter 类实现了 MouseListener 接口和其它的鼠标监听器接口,方法里什么也没写,我们可以继承这个 MosueAdapter 类然后重写我们需要的方法。
panel.addMouseListener(new MouseAdapter() {@Overridepublic 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("双击");else if(cc == 3)System.out.println("三击");System.out.println("鼠标位置: " + e.getX() + "," + e.getY());}});
练习1 图片查看器
需求:
加载文件夹里的图片显示显示缩略图点击缩略图时,显示大图当前图片高亮显示
Demo.java
package my;import java.awt.Container;import java.awt.Graphics;import java.awt.Image;import java.net.URL;import javax.imageio.ImageIO;import javax.swing.JFrame;import javax.swing.JLabel;public class Demo {public static void main(String[] args) {MyFrame frame = new MyFrame("Demo");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setSize(700, 300);frame.setVisible(true);}}
MyFrame.java
package my;import java.awt.BorderLayout;import java.awt.Color;import java.awt.FlowLayout;import java.awt.Image;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import java.io.File;import java.util.ArrayList;import javax.imageio.ImageIO;import javax.swing.BorderFactory;import javax.swing.JFrame;import javax.swing.JPanel;public class MyFrame extends JFrame{MyPanel showPanel = new MyPanel();ArrayListthumbMyLabel = new ArrayList<>();public MyFrame(String title) {super(title);JPanel thumbPanel = new JPanel();thumbPanel.setLayout(new FlowLayout());File file = new File("./src/images");System.out.println(file.getAbsolutePath());File[] imagesPath = file.listFiles();for(File imagePath : imagesPath) {try {Image img = ImageIO.read(imagePath);MyLabel label = new MyLabel(img);label.addMouseListener(new MouseListener());thumbPanel.add(label);thumbMyLabel.add(label);}catch(Exception e) {e.printStackTrace();}}JPanel root = new JPanel();this.setContentPane(root);root.setLayout(new BorderLayout());root.add(thumbPanel, BorderLayout.NORTH);root.add(showPanel, BorderLayout.CENTER);}private class MouseListener extends MouseAdapter{@Overridepublic void mouseClicked(MouseEvent e) {MyLabel label = (MyLabel)e.getSource();for(MyLabel thumbLabel : thumbMyLabel) {if(thumbLabel == label) {thumbLabel.setBorder(BorderFactory.createLineBorder(Color.BLUE, 4));}else {thumbLabel.setBorder(BorderFactory.createLineBorder(Color.WHITE, 4));}}Image img = label.img;showPanel.setImage(img);showPanel.repaint();}}}
MyLabel.java
package my;import java.awt.Color;import java.awt.Dimension;import java.awt.Graphics;import java.awt.Image;import javax.swing.JLabel;public class MyLabel extends JLabel{public Image img;private int imgW;private int imgH;public MyLabel(Image img) {this.img = img;imgW = img.getWidth(null);imgH = img.getHeight(null);this.setPreferredSize(new Dimension(50, 50 * imgH / imgW));this.setOpaque(false);}public void setImage(Image img) {this.img = img;}@Overrideprotected void paintComponent(Graphics g) {int width = this.getWidth();int height = this.getHeight();g.setColor(Color.LIGHT_GRAY);g.fillRect(0, 0, width, height);if(img != null) {g.drawImage(img, 0, 0, width, height, null);}}}
MyPanel.java
package my;import java.awt.Color;import java.awt.Graphics;import java.awt.Image;import javax.swing.JPanel;public class MyPanel extends JPanel{Image img;public void setImage(Image img) {this.img = img;}@Overrideprotected void paintComponent(Graphics g) {int width = this.getWidth();int height = this.getHeight();g.setColor(Color.WHITE);g.fillRect(0, 0, width, height);g.setColor(Color.BLACK);g.drawRect(0, 0, width, height);if(img != null) {int imgW = img.getWidth(null);int imgH = img.getHeight(null);int fitW = width;int fitH = fitW * imgH / imgW;if(fitH > height) {fitH = height;fitW = fitH * imgW / imgH;}int x = (width - fitW) / 2;int y = (height - fitH) / 2;g.drawImage(img, x, y, fitW, fitH, null);}}}
显示:
标签:
相关推荐:
精彩放送:
- []世界通讯!海辰药业:公司的投资项目均是经过管理层根据公司实际情况和市场环境审慎决策的
- []世界今热点:provoke是什么意思?provoke的用法有哪些?
- []三星i9250刷机教程 三星i9250手机线刷与卡刷方法及对比
- []【天天新要闻】bunny怎么读?bunny的中文意思介绍
- []珠宝首饰清洗的方法有哪些?珠宝首饰护理技巧
- []逡巡到底是什么意思?逡巡出自哪里?
- []BeyondCompare3注册码获取地址及获取方法
- []sequel是什么意思?sequel的用法有哪些?
- []环球今热点:鼠标事件——MouseEventer接口的5个方法
- []焦点要闻:手机添加兼容性站点怎么弄?360浏览器兼容性设置须知
- []天天消息!谷歌发布最新版Android4.1.2系统 新增语音信箱文本
- []世界消息!世龙实业:截至2023年2月10日,公司股东总户数为1.80万户
- []世界滚动:cocktail是什么意思?cocktail的用法
- []tradition是什么意思?tradition的用法有哪些?
- []今日要闻!维密2015年签入十位天使 新晋超模罗梅·埃利斯上榜
- []环球最新:玥玛锁到底怎么样?玥玛锁优势介绍详解
- []世界热议:说过不在想念不在回忆从前是什么歌?详情介绍
- []当前要闻:【软件推荐】炸弹小分队APP操作流程
- []极域电子教室系统怎么安装?极域电子教室安装教程
- []天天资讯:missile是什么意思?missile的用法有哪些?
- []全球今亮点!专业声卡与消费者声卡有什么区别?专业声卡价格对比介绍
- []荣盛石化:公司高度重视环境与社会责任,经核查,海南逸盛石化有限公司1月未出现污染物排放超标情况
- []什么是占空比?空比值的控制是什么?
- []全球关注:流氓兔为什么叫流氓兔?流氓兔叫流氓兔的原因
- []热议:袜子的种类有哪些?袜子种类介绍
- []全球最新:movement是什么意思?movement的用法有哪些?
- []世界快报:suitcase到底是什么意思?suitcase的汉语意思
- []博通股份:我公司将在2022年度报告中披露2022年12月末的股东人数
- []当前视点!《使命召唤6:现代战争2》第一人称射击游戏制作
- []台电科技平板电脑怎么刷机?台电科技平板电脑刷机详细介绍
- []校园车辆信息管理系统可行性分析及技术介绍
- []天天报道:木马危害有哪些?木马病毒的解决方法
- []世界报道:地热采暖原理是什么?地热采暖原理介绍
- []如何用kindle转换为MOBI格式?kindle电子书初级制作教程
- []如何进行正交试验设计?试验设计—正交表的使用方法
- []每日速递:【技术】通电延时定时器指令工作原理 应用举例
- []每日报道:如何在windows上交叉编译ffmpeg?具体操作步骤
- []每日热议!捯饬怎么读?捯饬的拼音怎么读?
- []majority是什么意思?majority的用法介绍
- []极化分集是什么?双极化天线的2路衰落特性
- []最新快讯!储能数字化转型势在必行,华能清能院正全方位打造储能数字化技术“护城河”
- []环球看热讯:赣锋锂业关联公司挂牌新三板 主营磷酸铁锂正极材料
- []热文:电脑自动关机软件有哪些功能?电脑自动开关机软件的介绍
- []全球热推荐:世界上最简洁的人脸识别库:face_recognition
- []C语言中的double是什么意思?直击PHP的异常和错误处理
- []全球即时看!无线通信技术是什么意思?无线通信技术介绍
- []地暖地板怎么选购?地暖地板选购要点
- []焦点信息:2016蓝莓手机最新款 黑莓手机最新款介绍
- []焦点要闻:使用微信如何贷款?使用微信贷款的教程【详解】
- []Spring之AOP|使用场景、原理、配置、使用方式
- []焦点关注:苹果手机悬浮球在哪设置?Assist7plus设置方法
- []环球热头条丨a站b站是什么?国内人气最高的弹幕式视频网站
- []linux系统安装方法有哪些?linux服务器系统安装方法
- []环球消息!javascript索引是什么?javascript索引的概念及技巧
- []通过Chrome来知道提交加价的请求应该是什么?
- []天天热文:受储能市场带动 2022-2026年干法隔膜出货年复合增速将超35%
- []台湾旅游业者:盼关系尽快回温,大陆游客早回流
- []国产监控摄像头报价:海康威视、索尼、三星、松下、LG
- []暖气调温阀是什么原理?暖气调温阀品牌介绍
- []环球资讯:舍入模式有哪些?八种舍入模式的解释
- []世界观焦点:为什么用fork提高处理速度?详情解释
- []环球新动态:FB是什么意思?PCB原理图中的FB是什么意思?
- []前沿资讯!常用的摄影构图方法有哪些?常用摄影构图方法
- []每日播报!如何下载Navicat数据库管理编辑软件?如何打开.db数据库文件?
- []年产能10GWh!青禾新能80亿建储能系统集成基地和光伏储能电站
- []焦点要闻:各类滚筒电机价格如何?TDY75型油冷式电动滚筒电机价格大全
- []如何定位别人手机位置?360手机卫士、百度云实例讲解
- []“平均数”到底是什么意思?加权平均数又是什么意思?
- []关注:单摆控制教程 matlab仿真单摆控制-状态反馈
- []当前观点:【赛思基因】荧光素酶生物检测技术的应用
- []【快播报】99岁的芒格:投资中国更值得 比亚迪比特斯拉好!
- []QQ象棋java通用版怎么下载?QQ中国象棋官方免费版下载
- []全球微动态丨丢了上市公司的陕西富豪,携锂电“核弹”卷土重来
- []Mobvista发布2019年财报 程序化广告收入已超22亿
- []好用的RPA流程自动化软件有哪些?详情介绍
- []世界视讯!【教程】5分钟打造用U盘启动的linux
- []环球热推荐:“日光基”鸣枪!基金大佬齐上阵 A股增量资金入场
- []每日聚焦:加加食品:数字科技子公司目前没有应用到该项技术
- []环球实时:安科生物:公司的曲妥珠单抗产品目前仍在国家药品审评中心开展审评审批工作
- []天天动态:A股突发跳水!15家基金紧急解读
- []天天速读:复苏开启之后,VC重回旅游业了吗? | 重启
- []讯息:中国居民存款破纪录 具体详细内容是什么
- []今日讯!首次实现全年盈利,Airbnb被戏称“精简的赚钱机器”
- []e生保2020费率表
- []2021年小车保险怎么买
- []美股异动 | 部分中概股逆市上涨 金山云(KC.US)涨超5%
- []全球视点!保险对家庭的重要性
- []焦点热门:怎么用电话定火车票_怎么用电话定火车票最快
- []每日消息!最新射手榜:哈兰德无解凯恩破纪录莱万姆皇被追赶四神锋13球
- []天天观点:蔚来(NIO.US)将于3月1日美股盘前公布Q4业绩
- []胜利精密诉讼时效仅剩两月 已有投资者获赔451万元
- []华测导航:2月15日公司高管赵延平减持公司股份合计60万股
- []焦点要闻:值得买:2月15日公司高管刘峰减持公司股份合计1.95万股
- []友讯达:2月15日公司高管崔涛减持公司股份合计4万股
- []天天微速讯:美亚柏科: 公司关注数字防伪技术的发展,将根据业务开展需要适时投入研究并布局相关业务
- []视焦点讯!天奥电子:公司的时间频率相关产品有配套应用于机载平台,感谢您的关心!
- []当前关注:ST浩源:公司公章由公司行政部门保管,用印时根据业务流程,在钉钉上逐级审批
- []最新快讯!嘉必优:2月15日公司高管汪志明减持公司股份合计1000股
- []澳能建设(01183)与Coastal及YMG拟就于新加坡、马来西亚及越南发展电动汽车充电系统业务相互成为业务伙伴
- []得润电子:目前双方仅有少量业务往来
- 今日报丨新华都:公司持续关注新兴技术的发展,探索相关技术与公司业务的有机结合,提升公司竞争力
- 全球快资讯丨科恒股份:公司没有进行过稀土储氢方面的研究,着力发展的是锂离子正极材料和锂电池智能装备业务
- 世界热推荐:亚普股份:公司目前推出的两款储氢系统产品均已通过型式认证,并投入示范运行,市场推广工作正在持续开展中
- 每日视点!天元股份:公司及其子公司可为相关新能源行业的公司提供各类包装产品,如电子标签、纸箱、背胶袋等
- 罗平锌电:感谢提问,截止2023年2月10日 公司股东人数为33,121户
- 全球快消息!美丽田园加盟店和直营店的区别_加盟店和直营店的区别
- 环球热推荐:华仁药业:公司积极布局饮料、化妆品、健康饮品等大健康产品线
- 萤石网络:ChatGPT是人工智能技术驱动的自然语言处理工具,公司会密切关注新技术的发展
- *ST科林转型迷途,能否绝境逢生?
- 焦点快看:银浆龙头帝科股份董事长将股权激励授予外人受处罚,亲手毁掉公司定增!
- 海辰储能获中国银行百亿授信!
- 今日热门!飞轮储能有哪些优点?简述飞轮储能系统的优缺点
- 近期交付相对紧张 硅片价格持稳运行(2.16)
- 思维到行动,全面进阶|FAENZA 法恩莎卫浴战略管理实战辅导班圆满召开
- 当前速读:微导纳米:公司相关产品及技术情况,您可查询公司披露的招股说明书或其他公开信息
- 当前报道:2月16日罗 牛 山涨停分析:赛马,海南,养猪概念热股
- 全球最资讯丨相爱不易要珍惜怎么表达?相爱不易要珍惜的句子有哪些?
- 日语五十音图记忆方法有哪些?日语五十音图记忆方法介绍?
- 全球热消息:杭州西湖好玩吗?杭州西湖有哪些美景?
- 当前短讯!躲避的反义词有哪些?躲避是什么意思?
- 每日热议!关于古埃及的电影有什么?有关埃及的10大必看电影介绍
- 热点!hkc是什么牌子的显示器?hkc品牌资料介绍?
- 2月16日大豪科技涨停分析:白酒,数字经济,网络安全概念热股
- 观察:宁波建工:中经云目前未申请上市
- 【快播报】六鳌在哪里?六鳌资料介绍
- 全球热推荐:2月16日英特集团涨停分析:医药商业,医药,浙江国企改革概念热股
- 苗侨伟演的关于黑社会的电视剧是哪部?讲述了什么剧情?
- 重点聚焦!你是猴子请来的救兵吗是什么梗?你是猴子请来的救兵吗是怎么来的?
- 当前热讯:三峡能源:新能源储备规模超140GW,正在开展储能等示范工程
- 环球简讯:怎么炒草菇?炒草菇的方法是什么?
- 共享储能发展“前夜”
- 全球观焦点:南都电源中标1.36GWh锂电储能项目
- 日媒:日本1月贸易逆差约3.5万亿日元创新高
- 世界新动态:重庆首个锂电化学储能整装项目年内投产
- 国际金价小幅反弹,但多头须离场,该风险上升将利好美元
- 当前速看:湖南裕能:公司目前没有这样的计划,专注于把正极材料做精、做强、做大
- 【世界播资讯】国际金价后市下看1785美元
- 每日热闻!“黑四”魔咒再现!A股三大指数午后集体跳水,两市超4500股下跌
- 宇通重工:公司有工程机械出口业务,公司出口业务收入占公司整体收入比例较低
- 订单激增!多家企业密集布局储能电池项目
- 头条:上海欢乐谷过山车出故障滞空十分钟,关联公司涉多起安全保障纠纷
- 勤哲Excel服务器无代码实现家居建材企业管理系统
- 环球速读:投行预测纽元将小幅走高,一季度末前或涨百点至0.64
- 每日看点!花园生物:公司已规划骨化醇类原料药和制剂项目的建设,项目建成后,公司将迈上维生素D3全产业链的塔尖
- 浙商银行:我行通过持续提升自身经营质效以提高市场认可度
- 热点聚焦:美原油交易策略:两大机构上调需求前景支撑油价,后市剑指100日均线?
- 环球最新:2023春运收官:自驾成最大赢家 ,租车订单量超疫情前69%
- 每日热议!全球旅行需求强劲复苏,国际旅游业渐趋好转
- 八大券商主题策略:硬医疗科技是个大机会 中药强者恒强!从六大维度选择标的
- 【焦点热闻】春耕备耕正当时 高标准农田建设忙
- 【天天热闻】华侨城预亏百亿,18家平均亏损2亿元,2023上市旅企能否打赢翻身仗?
- 快资讯丨现货黄金交易策略:金价反弹受阻,关注初请和PPI数据
- 【BT金融分析师】欧莱雅在中国市场面临挑战,分析师称中国本土化妆品强势崛起所致
- 全球热推荐:【BT金融分析师】车车科技赴美借壳上市,分析师称中概股乐观情绪重燃
- 黄金市场分析:若上涨突破1850,或进一步走强测试1860和1870阻力
- 视讯!2月16日汇市观潮:欧元、英镑和日元技术分析
- 遥望科技:目前双方主要围绕供应链进行合作
- 华领医药-B(02552)首家官方旗舰店落户1药网(YI.US)
- 长缆科技:公司员工持股计划的会计处理,严格按照《企业会计准则第11号——股份支付》的规定执行
- 俄外长:将要求联合国对“北溪”管道遭破坏事件进行调查
- 热点在线丨山荷叶的花语是什么
- 珈伟新能:公司目前暂未开展相关充电桩业务
- 天天热推荐:盐的保质期限是几年
- 焦点快看:三星医疗:为保证信息披露的公平性,公司将在定期报告中披露股东人数
- 今日报丨翰宇药业前高管挪用资金暴露涉嫌财务造假? 资金链紧张实控人套现近7亿“救急”
- 焦点速看:福建云霄抽水蓄能电站下水库工程开工
- 今日快讯:巨安储能称目前签订订单已经超过25亿元
- 讯息:清朝固伦公主有多少个?清朝固伦公主介绍?
- 全球球精选!成都公交车上掉了东西怎么办?成都公交车找回丢失物的方法?
- 观速讯丨猪沙是什么?猪沙有什么用途?
- 每日精选:驾驶证怎么审验?审验驾驶证需要带什么证件?
- 天天速递!描写教室里安静的句子怎么写?描写教室里安静的句子有哪些?
- 全球今日讯!长隆:打造世界级文商旅综合体,将成为开放式主题乐园
- 天天快消息!新西兰旅游局华夫:预计游客数量将在未来几个月回升
- 环球实时:环球旅讯海外联动WiT:推出“中国旅游市场回归”主题论坛
- 哈尔滨第二职业高中怎么样?哈尔滨第二职业高中在哪里?
- 天天观速讯丨交通信用卡怎样激活?交通信用卡的激活方式有哪些?
- 爱情密语短句有哪些?爱情密语短句汇总?
- 通达动力:公司主要生产的电机定转子铁芯,产品品种齐全,能够应用于不同种类和型号的电机
- 世界微头条丨什么是恐怖主义?恐怖主义是指什么?
- 观热点:加载dll失败是怎么回事?加载dll失败如何解决?
- 金达威:目前未有新的信息披露
- 阿特斯太阳能(CSIQ.US):EP CUBE住宅储能解决方案将于西班牙贸易展展出
- 博迈科:公司积极参与风电、氢能等项目投标,寻求新能源领域的业务突破
- 消息!64家储能政企单位共建省级“朋友圈” 营造产业协作好生态
- 广西:超2GWh,21个储能项目进重大项目清单
- PPT | 钠电池行业系列深度报告:性能和应用有望与锂电互补,2023 年将迎量产元年
- 千万级个人成长畅销书作家张德芬:花若盛开,蝴蝶自来
- 万豪Q4非客房收入超出预期,ADR相比2019年增长13%
- 荆门高新区站上锂电风口,构建产城融合标杆!
- 世界今头条!重磅信号!陈光明旗下基金 又有大消息!
- 天天观察:2022年新增装机规模宁夏居首 新型储能发力开启“储能+”时代
- 【天天速看料】港股异动丨航空股普涨 三大航司1月客运数据均实现高双位数增长
- 每日头条!中国人寿:我公司推出专项理赔服务举措,简化理赔手续和流程,在满足条件的情况下及时为客户进行赔付
- 全球百事通!益生股份:益生909的料肉比约为1.75,48天出栏的体重约为3.5斤
- 今日最新!天蓝色配什么颜色好看
- 【天天热闻】世嘉科技:荣旗科技系公司参股公司,关于荣旗科技的经营范围请关注其企业简介
- 环球速看:国泰君安:投资制造业股票看什么 投资、订单、业绩
- 【世界独家】公私募发行回暖 多路资金陆续进场
- 天天观速讯丨总投资100亿!15GWh固态电池基地项目落地成都