JavaTM 2 Platform
Standard Ed. 6

java.awt.event
類別 MouseWheelEvent

java.lang.Object
  繼承者 java.util.EventObject
      繼承者 java.awt.AWTEvent
          繼承者 java.awt.event.ComponentEvent
              繼承者 java.awt.event.InputEvent
                  繼承者 java.awt.event.MouseEvent
                      繼承者 java.awt.event.MouseWheelEvent
所有已實作的介面:
Serializable

public class MouseWheelEvent
extends MouseEvent

表示鼠標滾輪在元件中滾動的事件。

滾輪鼠標是一種用滾輪代替中間按鍵的鼠標。可朝向使用者或背離使用者旋轉此滾輪。儘管鼠標滾輪也有其他用途,但最主要的是用於滾動。

MouseWheelEvent 物件傳遞給每一個 MouseWheelListener 物件,該物件使用元件的 addMouseWheelListener 方法註冊,以接收“感興趣”鼠標事件。所有此類別偵聽器對象都獲得包含鼠標事件的 MouseEvent

由於鼠標滾輪與滾動 Component 的特殊關係,傳遞 MouseWheelEvent 與傳遞其他 MouseEvent 稍有不同。這是因為,其他 MouseEvent 通常影響鼠標鼠標正下方 Component 的更改(如單擊某個按鈕時),而 MouseWheelEvent 常會在遠離鼠標鼠標處產生影響(位於 ScrollPane 中的某個 Component 上時,滾動滾輪就能滾動 ScrollPane 上的某個 Scrollbar)。

MouseWheelEvent 從鼠標鼠標下的 Component 開始傳遞。如果在該 Component 上沒有啟用 MouseWheelEvent,則把事件傳遞到啟用 MouseWheelEvent 的第一個祖先 Container。這通常是啟用了滾輪滾動的 ScrollPane。源 Component 和 x、y 坐標都是相對於該事件的最終目標 (ScrollPane)。這就允許將複雜的 GUI 不加修改地安裝到 ScrollPane 中,並讓傳遞到 ScrollPane 的所有 MouseWheelEvent 能夠滾動。

某些 AWT Component 是用本機小部件實作的,這些小部件顯示它們自己的滾動條,並能自行處理滾動。這種特殊的 Component 因平臺而異。當在這些 Component 上移動鼠標滾輪時,事件將直接傳遞到本機小部件而不會傳播到其祖先。

各種平臺提供在移動鼠標滾輪時應該發生的自定義滾動量。兩個最常見的設置是滾動一定的“單位”數(通常是基於文本的元件中的文本行),或者整個“塊”(類似於 page-up/page-down)。MouseWheelEvent 提供了符合底層平臺設置的各種方法。使用者可在任何時間改變這些平臺設置。MouseWheelEvent 反映最新的設置。

從以下版本開始:
1.4
另請參見:
MouseWheelListener, ScrollPane, ScrollPane.setWheelScrollingEnabled(boolean), JScrollPane, JScrollPane.setWheelScrollingEnabled(boolean), 序列化表格

欄位摘要
static int WHEEL_BLOCK_SCROLL
          表示按“塊”進行滾動的常數(如使用 page-up、page-down 鍵進行滾動)
static int WHEEL_UNIT_SCROLL
          表示按“單位”進行滾動的常數(如使用方向鍵進行滾動)
 
從類別 java.awt.event.MouseEvent 繼承的欄位
BUTTON1, BUTTON2, BUTTON3, MOUSE_CLICKED, MOUSE_DRAGGED, MOUSE_ENTERED, MOUSE_EXITED, MOUSE_FIRST, MOUSE_LAST, MOUSE_MOVED, MOUSE_PRESSED, MOUSE_RELEASED, MOUSE_WHEEL, NOBUTTON
 
從類別 java.awt.event.InputEvent 繼承的欄位
ALT_DOWN_MASK, ALT_GRAPH_DOWN_MASK, ALT_GRAPH_MASK, ALT_MASK, BUTTON1_DOWN_MASK, BUTTON1_MASK, BUTTON2_DOWN_MASK, BUTTON2_MASK, BUTTON3_DOWN_MASK, BUTTON3_MASK, CTRL_DOWN_MASK, CTRL_MASK, META_DOWN_MASK, META_MASK, SHIFT_DOWN_MASK, SHIFT_MASK
 
從類別 java.awt.event.ComponentEvent 繼承的欄位
COMPONENT_FIRST, COMPONENT_HIDDEN, COMPONENT_LAST, COMPONENT_MOVED, COMPONENT_RESIZED, COMPONENT_SHOWN
 
從類別 java.awt.AWTEvent 繼承的欄位
ACTION_EVENT_MASK, ADJUSTMENT_EVENT_MASK, COMPONENT_EVENT_MASK, consumed, CONTAINER_EVENT_MASK, FOCUS_EVENT_MASK, HIERARCHY_BOUNDS_EVENT_MASK, HIERARCHY_EVENT_MASK, id, INPUT_METHOD_EVENT_MASK, INVOCATION_EVENT_MASK, ITEM_EVENT_MASK, KEY_EVENT_MASK, MOUSE_EVENT_MASK, MOUSE_MOTION_EVENT_MASK, MOUSE_WHEEL_EVENT_MASK, PAINT_EVENT_MASK, RESERVED_ID_MAX, TEXT_EVENT_MASK, WINDOW_EVENT_MASK, WINDOW_FOCUS_EVENT_MASK, WINDOW_STATE_EVENT_MASK
 
從類別 java.util.EventObject 繼承的欄位
source
 
建構子摘要
MouseWheelEvent(Component source, int id, long when, int modifiers, int x, int y, int clickCount, boolean popupTrigger, int scrollType, int scrollAmount, int wheelRotation)
          建構一個具有指定源元件、型別、修改鍵、坐標、滾動型別、滾動量和滾輪旋轉的 MouseWheelEvent
MouseWheelEvent(Component source, int id, long when, int modifiers, int x, int y, int xAbs, int yAbs, int clickCount, boolean popupTrigger, int scrollType, int scrollAmount, int wheelRotation)
          建構一個具有指定源元件、型別、修改鍵、坐標、絕對坐標、滾動型別、滾動量和滾輪滾動的 MouseWheelEvent 物件。
 
方法摘要
 int getScrollAmount()
          返回每轉動一下鼠標滾輪應該滾動的單位數。
 int getScrollType()
          返迴響應此事件時應該發生的滾動型別。
 int getUnitsToScroll()
          這是說明實作常用 MouseWheelListener 的便捷方法,以使 ScrollPane 或 JScrollPane 的滾動量符合平臺的設置。
 int getWheelRotation()
          返回鼠標滾輪旋轉的“喀噠聲”的次數。
 String paramString()
          返回標識此事件的參數字元串。
 
從類別 java.awt.event.MouseEvent 繼承的方法
getButton, getClickCount, getLocationOnScreen, getMouseModifiersText, getPoint, getX, getXOnScreen, getY, getYOnScreen, isPopupTrigger, translatePoint
 
從類別 java.awt.event.InputEvent 繼承的方法
consume, getModifiers, getModifiersEx, getModifiersExText, getWhen, isAltDown, isAltGraphDown, isConsumed, isControlDown, isMetaDown, isShiftDown
 
從類別 java.awt.event.ComponentEvent 繼承的方法
getComponent
 
從類別 java.awt.AWTEvent 繼承的方法
getID, setSource, toString
 
從類別 java.util.EventObject 繼承的方法
getSource
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

欄位詳細資訊

WHEEL_UNIT_SCROLL

public static final int WHEEL_UNIT_SCROLL
表示按“單位”進行滾動的常數(如使用方向鍵進行滾動)

另請參見:
getScrollType(), 常數欄位值

WHEEL_BLOCK_SCROLL

public static final int WHEEL_BLOCK_SCROLL
表示按“塊”進行滾動的常數(如使用 page-up、page-down 鍵進行滾動)

另請參見:
getScrollType(), 常數欄位值
建構子詳細資訊

MouseWheelEvent

public MouseWheelEvent(Component source,
                       int id,
                       long when,
                       int modifiers,
                       int x,
                       int y,
                       int clickCount,
                       boolean popupTrigger,
                       int scrollType,
                       int scrollAmount,
                       int wheelRotation)
建構一個具有指定源元件、型別、修改鍵、坐標、滾動型別、滾動量和滾輪旋轉的 MouseWheelEvent

絕對坐標 xAbs 和 yAbs 被設置為螢幕上的原點位置加上相對坐標 x 和 y。如果不顯示原點,則 xAbs 和 yAbs 被設置為零。

注意,傳遞無效的 id 將導致不明確的行為。如果 sourcenull,則此方法拋出 IllegalArgumentException

參數:
source - 產生該事件的 Component
id - 標識事件的整數
when - 給出事件發生時間的 long 值
modifiers - 事件期間按下的修改鍵(如 shift、ctrl、alt、meta)
x - 鼠標位置的水平 x 坐標
y - 鼠標位置的垂直 y 坐標
clickCount - 與事件關聯的鼠標單擊數
popupTrigger - 一個 boolean 值,如果此事件是彈出選單的觸發器,則為 true
scrollType - 回應此事件時應該發生的滾動型別;有效值有 WHEEL_UNIT_SCROLLWHEEL_BLOCK_SCROLL
scrollAmount - 對於 scrollType WHEEL_UNIT_SCROLL,該參數表示要滾動的單位數
wheelRotation - 鼠標滾輪的旋轉量(“喀噠聲”的次數)
拋出:
IllegalArgumentException - 如果 source 為 null
另請參見:
MouseEvent.MouseEvent(java.awt.Component, int, long, int, int, int, int, boolean), MouseEvent.MouseEvent(java.awt.Component, int, long, int, int, int, int, int, int, boolean, int)

MouseWheelEvent

public MouseWheelEvent(Component source,
                       int id,
                       long when,
                       int modifiers,
                       int x,
                       int y,
                       int xAbs,
                       int yAbs,
                       int clickCount,
                       boolean popupTrigger,
                       int scrollType,
                       int scrollAmount,
                       int wheelRotation)
建構一個具有指定源元件、型別、修改鍵、坐標、絕對坐標、滾動型別、滾動量和滾輪滾動的 MouseWheelEvent 物件。

注意,傳入無效 id 將導致不明確的行為。如果 sourcenull,則此方法拋出 IllegalArgumentException

即使將不一致的相對坐標值和絕對坐標值傳遞給建構子,MouseWheelEvent 實例也能被創建,並且不拋出任何異常。

參數:
source - 產生該事件的 Component
id - 標識事件的整數
when - 給出事件發生時間的 long 值
modifiers - 發生事件期間按下的修改鍵(shift、ctrl、alt 和 meta)
x - 鼠標位置的水平 x 坐標
y - 鼠標位置的垂直 y 坐標
xAbs - 鼠標位置的絕對水平 x 坐標
yAbs - 鼠標位置的絕對垂直 y 坐標
clickCount - 與該事件有關的鼠標單擊次數
popupTrigger - 一個 boolean 值,如果此事件是彈出選單的觸發器,則為 true
scrollType - 回應此事件時應該發生的滾動型別;有效值有 WHEEL_UNIT_SCROLLWHEEL_BLOCK_SCROLL
scrollAmount - 對於 scrollType WHEEL_UNIT_SCROLL,是要滾動的單位數
wheelRotation - 鼠標滾輪的旋轉量(「喀噠聲」的次數)
拋出:
IllegalArgumentException - 如果 source 為 null
從以下版本開始:
1.6
另請參見:
MouseEvent.MouseEvent(java.awt.Component, int, long, int, int, int, int, boolean), MouseEvent.MouseEvent(java.awt.Component, int, long, int, int, int, int, int, int, boolean, int)
方法詳細資訊

getScrollType

public int getScrollType()
返迴響應此事件時應該發生的滾動型別。這由本機平臺所決定。合法的值有:

返回:
根據本機平臺的配置,返回 MouseWheelEvent.WHEEL_UNIT_SCROLL 或 MouseWheelEvent.WHEEL_BLOCK_SCROLL。
另請參見:
Adjustable.getUnitIncrement(), Adjustable.getBlockIncrement(), Scrollable.getScrollableUnitIncrement(java.awt.Rectangle, int, int), Scrollable.getScrollableBlockIncrement(java.awt.Rectangle, int, int)

getScrollAmount

public int getScrollAmount()
返回每轉動一下鼠標滾輪應該滾動的單位數。僅在 getScrollType 返回 MouseWheelEvent.WHEEL_UNIT_SCROLL 時有效。

返回:
要滾動的單位數;如果 getScrollType 返回 MouseWheelEvent.WHEEL_BLOCK_SCROLL,則為不明確的值
另請參見:
getScrollType()

getWheelRotation

public int getWheelRotation()
返回鼠標滾輪旋轉的“喀噠聲”的次數。

返回:
如果鼠標滾輪向上/遠離使用者方向旋轉,則為負值;如果鼠標滾輪向下/朝向使用者方向旋轉,則為正值

getUnitsToScroll

public int getUnitsToScroll()
這是說明實作常用 MouseWheelListener 的便捷方法,以使 ScrollPane 或 JScrollPane 的滾動量符合平臺的設置。(注意,ScrollPaneJScrollPane 已內置了此功能。)

當滾動型別是 MouseWheelEvent.WHEEL_UNIT_SCROLL 時,此方法返回要滾動的單位數,只有在 getScrollType 返回 MouseWheelEvent.WHEEL_UNIT_SCROLL 時才應該調用此方法。

滾動方向、滾輪移動量和滾輪滾動的平臺設置都要考慮在內。此方法沒有也不能考慮 Adjustable/Scrollable 單位增量值,因為該值隨滾動元件的不同而不同。

以下簡化的範例說明了在偵聽器中如何使用此方法:

 
  mouseWheelMoved(MouseWheelEvent event) {
      ScrollPane sp = getScrollPaneFromSomewhere(); 
      Adjustable adj = sp.getVAdjustable()
      if (MouseWheelEvent.getScrollType() == WHEEL_UNIT_SCROLL) {
          int totalScrollAmount =
              event.getUnitsToScroll() *
              adj.getUnitIncrement();
          adj.setValue(adj.getValue() + totalScrollAmount);
      }
  }
 

返回:
根據鼠標滾輪旋轉的方向和旋轉量,以及本機平臺的滾輪滾動設置所得出的滾動單位數
另請參見:
getScrollType(), getScrollAmount(), MouseWheelListener, Adjustable, Adjustable.getUnitIncrement(), Scrollable, Scrollable.getScrollableUnitIncrement(java.awt.Rectangle, int, int), ScrollPane, ScrollPane.setWheelScrollingEnabled(boolean), JScrollPane, JScrollPane.setWheelScrollingEnabled(boolean)

paramString

public String paramString()
返回標識此事件的參數字元串。此方法對於事件記錄和除錯很有用。

覆寫:
類別 MouseEvent 中的 paramString
返回:
標識事件及其屬性的字元串

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only