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");
}
}
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
SpringLDAP目录服务之LdapTemplate与LDAP操作方式
本文将深入探讨Spring LDAP的核心概念、LdapTemplate的使用方法以及如何执行常见的LDAP操作,帮助开发者有效地将LDAP集成到Spring应用中,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2025-04-04
Spring AOP如何实现注解式的Mybatis多数据源切换详解
这篇文章主要给大家介绍了关于Spring AOP如何实现注解式的Mybatis多数据源切换的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-11-11
Java中双重检查锁(double checked locking)的正确实现
双重检查锁(Double-Check Locking),顾名思义,通过两次检查,并基于加锁机制,实现某个功能,下面这篇文章主要给大家介绍了关于Java中双重检查锁(double checked locking)的相关资料,需要的朋友可以参考下2021-09-09
Java java.lang.ExceptionInInitializerError 错误如何解决
这篇文章主要介绍了 Java java.lang.ExceptionInInitializerError 错误如何解决的相关资料,需要的朋友可以参考下2017-06-06


最新评论