Java中关于MouseWheelListener的鼠标滚轮事件详解
作者:智慧的猪- 发布时间:2023-10-19 02:02:54
标签:Java,MouseWheelListener,鼠标,滚轮
关于MouseWheelListener的鼠标滚轮事件
Java中JPanel面板中对鼠标滚轮事件的处理。
一、MouseWheelListener接口
MouseWheelListener接口中只有一个void mouseWheelMoved(MouseWheelEvent e)方法,此方法是在鼠标滚轮滚动的时候调用。所以要重写这个方法。
我们使用MouseWheelEvent此类中的public int getWheelRotation()方法。
二、public int getWheelRotation()
如果鼠标滚轮向上/远离用户旋转,则为负值,如果鼠标滚轮朝向用户向下旋转,则为正值
代码演示:
主要实现对JPanel容器,和JFrame窗口的放大和缩小。
这里采用的方法就是按钮滚轮的方式
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class MouseWheelListener01 extends JFrame implements MouseWheelListener{
public static void main(String[] args) {
new MouseWheelListener01();
}
int h = 300;
int w = 300;
JPanel j = new JPanel();
// 构造器
MouseWheelListener01(){
super("放缩滚轮");
this.add(j);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(h,w);
this.setVisible(true);
this.addMouseWheelListener(this); // 添加鼠标滚轮事件
}
//利用滚轮事件将窗口放大和缩小
public void mouseWheelMoved(MouseWheelEvent e) {
// 如果鼠标滚轮向上旋转或远离用户,则为负值,如果鼠标滚轮向下旋转或朝向用户旋转,则为正值
if(e.getWheelRotation()==1){
h = h + 15;
w = w + 15;
this.setSize(h,w);
this.validate();
System.out.println("滑轮向前。。。。");
}
if(e.getWheelRotation()==-1){
h = h - 15;
w = w -15;
this.setSize(h,w);
this.validate();
System.out.println("滑轮向后....");
}
}
}
Java获取鼠标滚轮按下事件
滚轮按下的事件和鼠标点击事件都在MouseListener里面
判定滚轮按下,原始的方法如下
public void mouseClicked(MouseEvent e) {
int modifiers = e.getModifiers();
if ((modifiers & InputEvent.BUTTON2_MASK) == InputEvent.BUTTON2_MASK){
System.out.println("middle button click");
}
}
当然可以利用SwingUtilities
public void mouseClicked(MouseEvent e) {
if (SwingUtilities.isMiddleMouseButton(e)){
System.out.println("middle button click");
}
}
来源:https://blog.csdn.net/weixin_54963748/article/details/120326405


猜你喜欢
- 这篇文章主要介绍了SpringMVC的执行流程及组件详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的
- 本文较为详细的分析了Java反射机制。分享给大家供大家参考,具体如下:一、预先需要掌握的知识(java虚拟机) java虚拟机的方法区:ja
- 前言:在我们购买商品或其他操作的时候,这时候微信公众号会推送相关模版消息。接下来简单介绍开发流程:(本文以订单推送为例)首先在测试号新建模版
- 本文实例为大家分享了Android实现ListView下拉刷新上拉加载更多的具体代码,供大家参考,具体内容如下其实谷歌官方目前已经推出Lis
- 一、基本回收算法 1. 引用计数(Reference Counting) 比较古老的回收算法。原理是此对象有一个引用,即增加一个计数,删除一
- 本文实例讲述了Java上传文件进度条的实现方法。分享给大家供大家参考,具体如下:东西很简单,主要用到commons-fileupload,其
- 前言近期一直在忙项目,我也是打工仔。不多说,我们开始玩一玩seata。什么都不说,我们按照惯例,先上一个图(图里不规范的使用请忽略):简单一
- Spring Boot 为 Spring MVC 提供了自动配置,适用于大多数应用程序。官方文档描述:自动配置在 Spring 的默认值之上
- 第一种:(调用系统API)首先引入两个命名空间using System.Runtime.InteropServices;using Syst
- AOP事务管理<aop:advisor>两种配置方式方式一@transactionManagerbean.xml<?xml
- import java.text.ParseException;import java.text.SimpleDateFormat;impo
- 效果 使用compile 'site.gemus:openingstartanimation:1.0.0' //在gra
- 前言系统很多地方都会抛出异常, 而Java的异常体系目标就是与逻辑解耦,Spring提供了统一的异常处理注解,用户只需要在错误的时候提示信息
- 一、前言最近在加强 ITAEM 团队的一个 app 项目——学生教师学习交流平台人员组成:安卓 + 前端 + 后台后台 DAO 层借鉴了华工
- 用户提出一个需求:当修改产品价格的时候,需要记录操作日志,什么时候做了什么事情。想必这个案例,只要是做过应用系统的小伙伴们,都应该遇到过吧?
- 一、概述项目中经常用到倒计时的功能,比如说限时抢购,手机获取验证码等等。而google官方也帮我们封装好了一个类:CountDownTime
- 本文实例讲述了Android编程实现仿优酷旋转菜单效果。分享给大家供大家参考,具体如下:首先,看下效果:不好意思,不会制作动态图片,只好上传
- 本文介绍了详解WMI RPC 服务器不可用的解决方案,分享给大家,具体如下:ConnectionOptions connectionOpti
- 1. 是否需要整合 ?不需要 : 单独使用Springmvc. 需要将原先Spring中的内容通通迁移到Springmvc中. 例如:数据源
- @RequestBody和@ResponseBody及Stringify()的作用首先,在项目的前后交互中json数据格式比较常用,普遍认为