Java中关于MouseWheelListener的鼠标滚轮事件详解
程序员文章站
2022-06-26 17:29:46
目录关于mousewheellistener的鼠标滚轮事件一、mousewheellistener接口二、public int getwheelrotation()java获取鼠标滚轮按下事件判定滚轮...
关于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"); } }
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。