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"); } }
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。
推薦閱讀:
- Java事件處理機制和適配器全面解析
- JAVA GUI基礎與MouseListener用法
- Java實現簡單畫畫畫板
- java中addMouseListener()方法的使用
- Java監聽器ActionListener與MouseListener的執行順序說明