public final class ScrollEvent extends GestureEvent
タッチ・ジェスチャ(タッチ画面上で指をドラッグするなど)によって生成されたスクロールはSCROLL_STARTED
イベントとSCROLL_FINISHED
イベントに囲まれます。スクロール中に関連タッチ・ポイントの数が変化すると、新しいジェスチャとみなされるため、touchCount
が変化するたびに、SCROLL_FINISHED
通知とSCROLL_STARTED
通知のペアが配信されます。マウス・ホイールを回転してスクロールした場合、始点/終点の囲みなしに、1回かぎりのSCROLL
イベントのみが配信されます。該当するプラットフォームでスクロール慣性がアクティブになっている場合、isInertia()
でtrue
が返されたSCROLL
イベントがSCROLL_FINISHED
より後になることがあります。
イベントは、ジェスチャの開始時にジェスチャ座標で選択された最上位ノードに配信されます。ジェスチャ時に座標が変更された場合でも、ジェスチャ全体が同じノードに配信されます。マウス・ホイールの回転の場合、マウス・カーソルの位置で選択された最上位ノードにイベントが配信されます。配信は現在のフォーカス所有者には依存しません。
イベントによって、2つの異なるタイプのスクロール値(ピクセルベースと文字/行ベース)が提供されます。スクロールするピクセル数として基本的なdeltaX
およびdeltaY
値を使用すると、妥当な結果が得られます(totalDeltaX
およびtotalDeltaY
にはジェスチャ全体の累計値が含まれ、マウス・ホイールの場合はゼロです)。テキスト(または表などの行ベースのコンテンツ)のスクロールについては、使用可能な場合はtextDelta
値を使用する必要があります。textDeltaXUnits
およびtextDeltaYUnits
によって、textDeltaX
およびtextDeltaY
値の解釈方法が決定されます。単位がNONE
に設定されている場合、テキストベースの値は使用できず(基礎となるプラットフォームによって提供されない)、ピクセルベースの値を使用する必要があります。
すべてのジェスチャと同様に、スクロールは直接的に実行(タッチ画面のように具体的な座標で直接実行 - 通常、すべてのタッチの中心点をジェスチャ座標として使用)することも、間接的に実行(トラック・パッドやマウスのように間接的に実行 - 通常、マウス・カーソルの位置をジェスチャ座標として使用)することもできます。
たとえば、グラフィカル・ノードをスクロールするには、次のコードを使用します。
node.setOnScroll(new EventHandler
すべてのプラットフォームでシステム設定に従って動作するテキストベースのコンポーネント上のスクロール・イベント・ハンドラには、次のロジックが含まれている必要があります。
switch(event.getTextDeltaYUnits()) {
case LINES:
// scroll about event.getTextDeltaY() lines
break;
case PAGES:
// scroll about event.getTextDeltaY() pages
break;
case NONE:
// scroll about event.getDeltaY() pixels
break;
}
修飾子と型 | クラスと説明 |
---|---|
static class |
ScrollEvent.HorizontalTextScrollUnits
テキストベースの水平スクロール単位。
|
static class |
ScrollEvent.VerticalTextScrollUnits
テキストベースの垂直スクロール単位。
|
修飾子と型 | フィールドと説明 |
---|---|
static EventType<ScrollEvent> |
ANY
すべてのスクロール・イベント・タイプに共通のスーパータイプ。
|
static EventType<ScrollEvent> |
SCROLL
このイベントは、マウス・ホイールを回したり、タッチ画面上で指をドラッグするなど、ユーザーがスクロール・アクションを実行したときに発生します。
|
static EventType<ScrollEvent> |
SCROLL_FINISHED
このイベントは、スクロール・ジェスチャが終了したときに発生します。
|
static EventType<ScrollEvent> |
SCROLL_STARTED
このイベントは、スクロール・ジェスチャが検出されたときに発生します。
|
consumed、eventType、NULL_SOURCE_TARGET、target
source
コンストラクタと説明 |
---|
ScrollEvent(EventType<ScrollEvent> eventType, double x, double y, double screenX, double screenY, boolean shiftDown, boolean controlDown, boolean altDown, boolean metaDown, boolean direct, boolean inertia, double deltaX, double deltaY, double totalDeltaX, double totalDeltaY, double multiplierX, double multiplierY, ScrollEvent.HorizontalTextScrollUnits textDeltaXUnits, double textDeltaX, ScrollEvent.VerticalTextScrollUnits textDeltaYUnits, double textDeltaY, int touchCount, PickResult pickResult)
nullのソースとターゲットを使用した新しいScrollEventイベントを構築します。
|
ScrollEvent(EventType<ScrollEvent> eventType, double x, double y, double screenX, double screenY, boolean shiftDown, boolean controlDown, boolean altDown, boolean metaDown, boolean direct, boolean inertia, double deltaX, double deltaY, double totalDeltaX, double totalDeltaY, ScrollEvent.HorizontalTextScrollUnits textDeltaXUnits, double textDeltaX, ScrollEvent.VerticalTextScrollUnits textDeltaYUnits, double textDeltaY, int touchCount, PickResult pickResult)
nullのソースとターゲットを使用した新しいScrollEventイベントを構築します。
|
ScrollEvent(Object source, EventTarget target, EventType<ScrollEvent> eventType, double x, double y, double screenX, double screenY, boolean shiftDown, boolean controlDown, boolean altDown, boolean metaDown, boolean direct, boolean inertia, double deltaX, double deltaY, double totalDeltaX, double totalDeltaY, ScrollEvent.HorizontalTextScrollUnits textDeltaXUnits, double textDeltaX, ScrollEvent.VerticalTextScrollUnits textDeltaYUnits, double textDeltaY, int touchCount, PickResult pickResult)
新しいScrollEventイベントを構築します。
|
修飾子と型 | メソッドと説明 |
---|---|
ScrollEvent |
copyFor(Object newSource, EventTarget newTarget)
指定したイベント・ソースとターゲットを持つこのイベントのコピーを作成して返します。
|
ScrollEvent |
copyFor(Object newSource, EventTarget newTarget, EventType<ScrollEvent> type)
指定のフィールドが置換された特定のイベントのコピーを作成します。
|
double |
getDeltaX()
水平スクロール量を取得します。
|
double |
getDeltaY()
垂直スクロール量を取得します。
|
EventType<ScrollEvent> |
getEventType()
このイベントのイベント・タイプを取得します。
|
double |
getMultiplierX()
マウス・ホイールの回転単位をピクセルに変換するために使用される乗数を取得します。
|
double |
getMultiplierY()
マウス・ホイールの回転単位をピクセルに変換するために使用される乗数を取得します。
|
double |
getTextDeltaX()
テキストベースの水平スクロール量を取得します。
|
ScrollEvent.HorizontalTextScrollUnits |
getTextDeltaXUnits()
テキストベースのスクロール用の水平スクロール単位を取得します。
|
double |
getTextDeltaY()
テキストベースの垂直スクロール量を取得します。
|
ScrollEvent.VerticalTextScrollUnits |
getTextDeltaYUnits()
テキストベースのスクロールの垂直スクロール単位を取得します。
|
double |
getTotalDeltaX()
ジェスチャ全体の累計水平スクロール量を取得します。
|
double |
getTotalDeltaY()
ジェスチャ全体の累計垂直スクロール量を取得します。
|
int |
getTouchCount()
このイベントを発生させたタッチ・ポイントの数を取得します。
|
String |
toString()
この
ScrollEvent オブジェクトの文字列表現を返します。 |
getPickResult、getSceneX、getSceneY、getScreenX、getScreenY、getX、getY、getZ、isAltDown、isControlDown、isDirect、isInertia、isMetaDown、isShiftDown、isShortcutDown
getSource
public static final EventType<ScrollEvent> ANY
public static final EventType<ScrollEvent> SCROLL
public static final EventType<ScrollEvent> SCROLL_STARTED
public static final EventType<ScrollEvent> SCROLL_FINISHED
public ScrollEvent(Object source, EventTarget target, EventType<ScrollEvent> eventType, double x, double y, double screenX, double screenY, boolean shiftDown, boolean controlDown, boolean altDown, boolean metaDown, boolean direct, boolean inertia, double deltaX, double deltaY, double totalDeltaX, double totalDeltaY, ScrollEvent.HorizontalTextScrollUnits textDeltaXUnits, double textDeltaX, ScrollEvent.VerticalTextScrollUnits textDeltaYUnits, double textDeltaY, int touchCount, PickResult pickResult)
source
- イベントのソース。nullに設定できます。target
- イベントのターゲット。nullに設定できます。eventType
- イベントのタイプ。x
- シーンに関連するx。y
- シーンに関連するy。screenX
- 画面に対して相対的なx座標。screenY
- 画面に対して相対的なy座標。shiftDown
- Shift修飾子が押された場合はtrueです。controlDown
- Ctrl修飾子が押された場合はtrueです。altDown
- Alt修飾子が押された場合はtrueです。metaDown
- Meta修飾子が押された場合はtrueです。direct
- イベントが直接入力デバイスによって発生した場合はtrueです。GestureEvent.isDirect()
を参照してください。inertia
- すでに終了したジェスチャの慣性を表す場合。deltaX
- 水平スクロール量deltaY
- 垂直スクロール量totalDeltaX
- 累積水平スクロール量totalDeltaY
- 累積垂直スクロール量textDeltaXUnits
- テキストベースの水平スクロール量の単位textDeltaX
- テキストベースの水平スクロール量textDeltaYUnits
- テキストベースの垂直スクロール量の単位textDeltaY
- テキストベースの垂直スクロール量touchCount
- タッチ・ポイントの数pickResult
- 選択結果。nullに設定でき、その場合は、シーン座標とターゲットに基づいて、追加の値のない2D選択結果が構築されます。public ScrollEvent(EventType<ScrollEvent> eventType, double x, double y, double screenX, double screenY, boolean shiftDown, boolean controlDown, boolean altDown, boolean metaDown, boolean direct, boolean inertia, double deltaX, double deltaY, double totalDeltaX, double totalDeltaY, ScrollEvent.HorizontalTextScrollUnits textDeltaXUnits, double textDeltaX, ScrollEvent.VerticalTextScrollUnits textDeltaYUnits, double textDeltaY, int touchCount, PickResult pickResult)
eventType
- イベントのタイプ。x
- シーンに関連するx。y
- シーンに関連するy。screenX
- 画面に対して相対的なx座標。screenY
- 画面に対して相対的なy座標。shiftDown
- Shift修飾子が押された場合はtrueです。controlDown
- Ctrl修飾子が押された場合はtrueです。altDown
- Alt修飾子が押された場合はtrueです。metaDown
- Meta修飾子が押された場合はtrueです。direct
- イベントが直接入力デバイスによって発生した場合はtrueです。GestureEvent.isDirect()
を参照してください。inertia
- すでに終了したジェスチャの慣性を表す場合。deltaX
- 水平スクロール量deltaY
- 垂直スクロール量totalDeltaX
- 累積水平スクロール量totalDeltaY
- 累積垂直スクロール量textDeltaXUnits
- テキストベースの水平スクロール量の単位textDeltaX
- テキストベースの水平スクロール量textDeltaYUnits
- テキストベースの垂直スクロール量の単位textDeltaY
- テキストベースの垂直スクロール量touchCount
- タッチ・ポイントの数pickResult
- 選択結果。nullに設定でき、その場合は、シーン座標に基づいて、追加の値のない2D選択結果が構築されます。public ScrollEvent(EventType<ScrollEvent> eventType, double x, double y, double screenX, double screenY, boolean shiftDown, boolean controlDown, boolean altDown, boolean metaDown, boolean direct, boolean inertia, double deltaX, double deltaY, double totalDeltaX, double totalDeltaY, double multiplierX, double multiplierY, ScrollEvent.HorizontalTextScrollUnits textDeltaXUnits, double textDeltaX, ScrollEvent.VerticalTextScrollUnits textDeltaYUnits, double textDeltaY, int touchCount, PickResult pickResult)
eventType
- イベントのタイプ。x
- シーンに関連するx。y
- シーンに関連するy。screenX
- 画面に対して相対的なx座標。screenY
- 画面に対して相対的なy座標。shiftDown
- Shift修飾子が押された場合はtrueです。controlDown
- Ctrl修飾子が押された場合はtrueです。altDown
- Alt修飾子が押された場合はtrueです。metaDown
- Meta修飾子が押された場合はtrueです。direct
- イベントが直接入力デバイスによって発生した場合はtrueです。GestureEvent.isDirect()
を参照してください。inertia
- すでに終了したジェスチャの慣性を表す場合。deltaX
- 水平スクロール量deltaY
- 垂直スクロール量totalDeltaX
- 累積水平スクロール量totalDeltaY
- 累積垂直スクロール量multiplierX
- ホイールの回転をピクセルに変換するために使用されるX乗数multiplierY
- ホイールの回転をピクセルに変換するために使用されるY乗数textDeltaXUnits
- テキストベースの水平スクロール量の単位textDeltaX
- テキストベースの水平スクロール量textDeltaYUnits
- テキストベースの垂直スクロール量の単位textDeltaY
- テキストベースの垂直スクロール量touchCount
- タッチ・ポイントの数pickResult
- 選択結果。nullに設定でき、その場合は、シーン座標に基づいて、追加の値のない2D選択結果が構築されます。public double getDeltaX()
textDeltaX
およびtextDeltaXUnits
の値を最初に考慮する必要があります。
値の符号は座標系と比較して逆になります(右にスクロールすると、コンテンツは実際には左に動く必要があります)。したがって、戻り値をコンテンツのX
座標に単に追加できます。
public double getDeltaY()
textDeltaY
およびtextDeltaYUnits
の値を最初に考慮する必要があります。
値の符号は座標系と比較して逆になります(下にスクロールすると、コンテンツは実際には上に動く必要があります)。したがって、戻り値をコンテンツのY
座標に単に追加できます。
public double getTotalDeltaX()
値の符号は座標系と比較して逆になります(右にスクロールすると、コンテンツは実際には左に動く必要があります)。したがって、戻り値をコンテンツのX
座標に単に追加できます。
public double getTotalDeltaY()
値の符号は座標系と比較して逆になります(下にスクロールすると、コンテンツは実際には上に動く必要があります)。したがって、戻り値をコンテンツのY
座標に単に追加できます。
public ScrollEvent.HorizontalTextScrollUnits getTextDeltaXUnits()
getTextDeltaX()
値の解釈方法を示します。戻り値がNONE
の場合、テキストベースのスクロール値は使用できず、ピクセルベースのgetDeltaX()
値を使用する必要があります。public ScrollEvent.VerticalTextScrollUnits getTextDeltaYUnits()
getTextDeltaY()
値の解釈方法を示します。戻り値がNONE
の場合、テキストベースのスクロール値は使用できず、ピクセルベースのgetDeltaY()
値を使用する必要があります。public double getTextDeltaX()
getTextDeltaXUnits()
値に従って解釈する必要があります。getTextDeltaXUnits()
からNONE
が返された場合はゼロです。public double getTextDeltaY()
getTextDeltaYUnits()
値に従って解釈する必要があります。getTextDeltaYUnits()
からNONE
が返された場合はゼロです。public int getTouchCount()
public double getMultiplierX()
public double getMultiplierY()
public String toString()
ScrollEvent
オブジェクトの文字列表現を返します。toString
、クラス: GestureEvent
ScrollEvent
オブジェクトの文字列表現public ScrollEvent copyFor(Object newSource, EventTarget newTarget)
Event
null
に設定されている場合は、NULL_SOURCE_TARGET
値によって置換されます。copyFor
、クラス: GestureEvent
newSource
- コピーされたイベントの新しいソースnewTarget
- コピーされたイベントの新しいターゲットpublic ScrollEvent copyFor(Object newSource, EventTarget newTarget, EventType<ScrollEvent> type)
source
- コピーされたイベントの新しいソースtarget
- コピーされたイベントの新しいターゲットeventType
- 新しいイベント・タイプpublic EventType<ScrollEvent> getEventType()
Event
Event
クラスの複数のオブジェクトは、異なるイベント・タイプを持つことができます。これらのイベント・タイプでは、発生するイベントの種類をさらに指定します。getEventType
、クラス: GestureEvent
Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved.