Java API 分類導覽 - java.awt.event.MouseWheelEvent getScrollType()

MouseWheelEvent 類別 (class) 的 getScrollType() 方法 (method) 用來取得滾輪滾動的種類。



修飾子與參數
public int getScrollType()


getScrollType() 的回傳值 (return value) 為 int 型態 (type) 的整數常數,非物件 (object) ,不需要參數 (paramenter) 。


舉例如下
import java.awt.*;
import java.awt.event.*;
 
public class MouseWheelEventDemo extends MouseAdapter {
    Frame frame;
    Panel panel;
    Label text;
    
    public static void main(String[] args) {
        new MouseWheelEventDemo();
    }
     
    public MouseWheelEventDemo() {
        frame = new Frame("AWTDemo");
        frame.addWindowListener(new AdapterDemo());
        frame.setSize(600, 400);
        
        panel = new Panel();
        panel.addMouseWheelListener(this);
        
        text = new Label("something happened..");
        
        panel.add(text);
        frame.add(panel, BorderLayout.CENTER);
        frame.setVisible(true);
    }
    
    public void mouseWheelMoved(MouseWheelEvent e) {
        if (e.getScrollType() == MouseWheelEvent.WHEEL_BLOCK_SCROLL) {
            text.setText("WHEEL_BLOCK_SCROLL");
        }
        if (e.getScrollType() == MouseWheelEvent.WHEEL_UNIT_SCROLL) {
            text.setText("WHEEL_UNIT_SCROLL");
        }
        
        System.out.println("getScrollAmount: " + e.getScrollAmount());
        System.out.println("getUnitsToScroll: " + e.getUnitsToScroll());
        System.out.println("getWheelRotation: " + e.getWheelRotation());
    }
}
 
class AdapterDemo extends WindowAdapter {
    public void windowClosing(WindowEvent e) {
        System.exit(0);
    }
}

/* 《程式語言教學誌》的範例程式
    http://pydoing.blogspot.com/
    檔名:MouseWheelEventDemo.java
    功能:示範 Java 程式 
    作者:張凱慶
    時間:西元 2012 年 3 月 */


此例的 MouseWheelEventDemo 直接繼承 MouseAdapter 類別
public class MouseWheelEventDemo extends MouseAdapter {


由於 MouseAdapter 已經實作 MouseWheelEvent 介面,因此這裡我們直接改寫 mouseWheelMoved() 方法,先呼叫 getScrollType() 判斷滾輪是以跳躍式滾動還是單位式滾動,接著呼叫 getScrollAmount() 、 getUnitsToScroll() 、 getWheelRotation() 印出每次滾動的單位數、單位總量與點擊數
public void mouseWheelMoved(MouseWheelEvent e) {
    if (e.getScrollType() == MouseWheelEvent.WHEEL_BLOCK_SCROLL) {
        text.setText("WHEEL_BLOCK_SCROLL");
    }
    if (e.getScrollType() == MouseWheelEvent.WHEEL_UNIT_SCROLL) {
        text.setText("WHEEL_UNIT_SCROLL");
    }
        
    System.out.println("getScrollAmount: " + e.getScrollAmount());
    System.out.println("getUnitsToScroll: " + e.getUnitsToScroll());
    System.out.println("getWheelRotation: " + e.getWheelRotation());
}


編譯後執行,結果如下



中英文術語對照
類別class
方法method
屬性field
回傳值return value


您可以繼續參考
事件處理


相關目錄
Java API 分類導覽
Java 教材
首頁


參考資料
http://docs.oracle.com/javase/6/docs/api/java/awt/event/MouseWheelEvent.html

沒有留言: