|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
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
public class MouseWheelEvent
表示鼠標滾輪在元件中滾動的事件。
滾輪鼠標是一種用滾輪代替中間按鍵的鼠標。可朝向使用者或背離使用者旋轉此滾輪。儘管鼠標滾輪也有其他用途,但最主要的是用於滾動。
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 反映最新的設置。
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.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 |
欄位詳細資訊 |
---|
public static final int WHEEL_UNIT_SCROLL
getScrollType()
,
常數欄位值public static final int WHEEL_BLOCK_SCROLL
getScrollType()
,
常數欄位值建構子詳細資訊 |
---|
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
將導致不明確的行為。如果 source
為 null
,則此方法拋出 IllegalArgumentException
。
source
- 產生該事件的 Component
id
- 標識事件的整數when
- 給出事件發生時間的 long 值modifiers
- 事件期間按下的修改鍵(如 shift、ctrl、alt、meta)x
- 鼠標位置的水平 x 坐標y
- 鼠標位置的垂直 y 坐標clickCount
- 與事件關聯的鼠標單擊數popupTrigger
- 一個 boolean 值,如果此事件是彈出選單的觸發器,則為 truescrollType
- 回應此事件時應該發生的滾動型別;有效值有 WHEEL_UNIT_SCROLL
和 WHEEL_BLOCK_SCROLL
scrollAmount
- 對於 scrollType WHEEL_UNIT_SCROLL
,該參數表示要滾動的單位數wheelRotation
- 鼠標滾輪的旋轉量(“喀噠聲”的次數)
IllegalArgumentException
- 如果 source
為 nullMouseEvent.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)
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
將導致不明確的行為。如果 source
為 null
,則此方法拋出 IllegalArgumentException
。
即使將不一致的相對坐標值和絕對坐標值傳遞給建構子,MouseWheelEvent 實例也能被創建,並且不拋出任何異常。
source
- 產生該事件的 Component
id
- 標識事件的整數when
- 給出事件發生時間的 long 值modifiers
- 發生事件期間按下的修改鍵(shift、ctrl、alt 和 meta)x
- 鼠標位置的水平 x 坐標y
- 鼠標位置的垂直 y 坐標xAbs
- 鼠標位置的絕對水平 x 坐標yAbs
- 鼠標位置的絕對垂直 y 坐標clickCount
- 與該事件有關的鼠標單擊次數popupTrigger
- 一個 boolean 值,如果此事件是彈出選單的觸發器,則為 truescrollType
- 回應此事件時應該發生的滾動型別;有效值有 WHEEL_UNIT_SCROLL
和 WHEEL_BLOCK_SCROLL
scrollAmount
- 對於 scrollType WHEEL_UNIT_SCROLL
,是要滾動的單位數wheelRotation
- 鼠標滾輪的旋轉量(「喀噠聲」的次數)
IllegalArgumentException
- 如果 source
為 nullMouseEvent.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)
方法詳細資訊 |
---|
public int getScrollType()
Adjustable.getUnitIncrement()
,
Adjustable.getBlockIncrement()
,
Scrollable.getScrollableUnitIncrement(java.awt.Rectangle, int, int)
,
Scrollable.getScrollableBlockIncrement(java.awt.Rectangle, int, int)
public int getScrollAmount()
getScrollType
返回 MouseWheelEvent.WHEEL_UNIT_SCROLL
時有效。
getScrollType
返回 MouseWheelEvent.WHEEL_BLOCK_SCROLL
,則為不明確的值getScrollType()
public int getWheelRotation()
public int getUnitsToScroll()
ScrollPane
和 JScrollPane
已內置了此功能。)
當滾動型別是 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)
public String paramString()
MouseEvent
中的 paramString
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。