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("滑轮向后....");
}
}
}