public class DragSource extends Object implements Serializable
DragSource は、ドラッグ&ドロップ操作の開始を担当するエンティティーであり、いくつかのシナリオで使用される可能性があります。
Component のインスタンス、または Component インスタンスに関連付けられているアプリケーション固有のオブジェクトごとに 1 つ。実装により異なる
DragSource を取得した場合は、DragGestureRecognizer も取得して、DragSource を特定の Component と関連付けます。
ユーザーのジェスチャーの最初の解釈、および以降のドラッグ操作の開始は、通常は DragGestureRecognizer によって実装される実装側の Component の役割です。
ドラッグジェスチャーが発生すると、ユーザーのナビゲーションジェスチャーの処理およびドラッグ&ドロッププロトコル通知の送達のために、DragSource の startDrag() メソッドが呼び出されます。DragSource は、どの時点においても現在の操作として 1 つのドラッグ&ドロップ操作のみを許可し、それ以上の startDrag() 要求はすべて、現在の操作が完了するまで IllegalDnDOperationException をスローすることによって拒否します。
startDrag() メソッドは、createDragSourceContext() メソッドを呼び出して適切な DragSourceContext をインスタンス化し、DragSourceContextPeer をそれに関連付けます。
ドラッグ&ドロップシステムが何らかの理由でドラッグ操作を開始できない場合、startDrag() メソッドは、このような状態を通知するために java.awt.dnd.InvalidDnDOperationException をスローします。この例外は通常、基礎になるプラットフォームシステムがドラッグを開始する状態にないか、あるいは指定されたパラメータが無効な場合にスローされます。
ドラッグ中、ドラッグ操作の開始時にソースによって公開された一連の操作は、その操作が完了するまで変更できないことに注意してください。これらの操作は、DragSource に関して、その操作の期間を通して一定です。
| 修飾子と型 | フィールドと説明 |
|---|---|
static Cursor |
DefaultCopyDrop
ドロップが現在許可されていることを示す、コピー操作で使用するデフォルトの
Cursor。 |
static Cursor |
DefaultCopyNoDrop
ドロップが現在許可されていないことを示す、コピー操作で使用するデフォルトの
Cursor。 |
static Cursor |
DefaultLinkDrop
ドロップが現在許可されていることを示す、リンク操作で使用するデフォルトの
Cursor。 |
static Cursor |
DefaultLinkNoDrop
ドロップが現在許可されていないことを示す、リンク操作で使用するデフォルトの
Cursor。 |
static Cursor |
DefaultMoveDrop
ドロップが現在許可されていることを示す、移動操作で使用するデフォルトの
Cursor。 |
static Cursor |
DefaultMoveNoDrop
ドロップが現在許可されていないことを示す、移動操作で使用するデフォルトの
Cursor。 |
| コンストラクタと説明 |
|---|
DragSource()
新しい
DragSource を作成します。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
void |
addDragSourceListener(DragSourceListener dsl)
この
DragSource で開始されたドラッグ操作中にドラッグソースイベントを受信するために、指定された DragSourceListener をこの DragSource に追加します。 |
void |
addDragSourceMotionListener(DragSourceMotionListener dsml)
この
DragSource で開始されたドラッグ操作中にドラッグモーションイベントを受信するために、指定された DragSourceMotionListener をこの DragSource に追加します。 |
DragGestureRecognizer |
createDefaultDragGestureRecognizer(Component c, int actions, DragGestureListener dgl)
この
DragSource に DragGestureRecognizer のデフォルト抽象サブクラスを実装する新しい DragGestureRecognizer を作成し、指定された Component と DragGestureListener を新しく作成されたオブジェクト上に設定します。 |
<T extends DragGestureRecognizer> |
createDragGestureRecognizer(Class<T> recognizerAbstractClass, Component c, int actions, DragGestureListener dgl)
DragGestureRecognizer の指定された抽象サブクラスを実装する新しい DragGestureRecognizer を作成し、指定された Component と DragGestureListener を新しく作成されたオブジェクト上に設定します。 |
protected DragSourceContext |
createDragSourceContext(java.awt.dnd.peer.DragSourceContextPeer dscp, DragGestureEvent dgl, Cursor dragCursor, Image dragImage, Point imageOffset, Transferable t, DragSourceListener dsl)
現在のドラッグ操作を処理する
DragSourceContext を作成します。 |
static DragSource |
getDefaultDragSource()
基本となるプラットフォームに関連付けられた
DragSource オブジェクトを取得します。 |
DragSourceListener[] |
getDragSourceListeners()
この
DragSource に登録されたすべての DragSourceListener を取得します。 |
DragSourceMotionListener[] |
getDragSourceMotionListeners()
この
DragSource に登録されたすべての DragSourceMotionListener を取得します。 |
static int |
getDragThreshold()
ドラッグジェスチャーモーションのしきい値を返します。
|
FlavorMap |
getFlavorMap()
このメソッドは、この
DragSource の FlavorMap を返します。 |
<T extends EventListener> |
getListeners(Class<T> listenerType)
この
DragSource に FooListener として現在登録されているすべてのオブジェクトを取得します。 |
static boolean |
isDragImageSupported()
基本となるプラットフォーム上でドラッグ
Image のサポートが使用可能かどうかを報告します。 |
void |
removeDragSourceListener(DragSourceListener dsl)
この
DragSource から指定された DragSourceListener を削除します。 |
void |
removeDragSourceMotionListener(DragSourceMotionListener dsml)
この
DragSource から指定された DragSourceMotionListener を削除します。 |
void |
startDrag(DragGestureEvent trigger, Cursor dragCursor, Image dragImage, Point dragOffset, Transferable transferable, DragSourceListener dsl)
ドラッグを開始した
DragGestureEvent、使用する初期の Cursor、ドラッグする Image、トリガーの瞬間における Cursor のホットスポットからの Image 原点のオフセット、ドラッグの対象データ、および DragSourceListener で、ドラッグを開始します。 |
void |
startDrag(DragGestureEvent trigger, Cursor dragCursor, Image dragImage, Point imageOffset, Transferable transferable, DragSourceListener dsl, FlavorMap flavorMap)
ドラッグを開始した
DragGestureEvent、使用する初期の Cursor、ドラッグする Image、トリガーの瞬間における Cursor のホットスポットからの Image 原点のオフセット、ドラッグの Transferable 対象データ、DragSourceListener、および FlavorMap で、ドラッグを開始します。 |
void |
startDrag(DragGestureEvent trigger, Cursor dragCursor, Transferable transferable, DragSourceListener dsl)
ドラッグを開始した
DragGestureEvent、使用する初期の Cursor、ドラッグの Transferable 対象データ、および DragSourceListener を使用して、ドラッグを開始します。 |
void |
startDrag(DragGestureEvent trigger, Cursor dragCursor, Transferable transferable, DragSourceListener dsl, FlavorMap flavorMap)
ドラッグを開始した
DragGestureEvent、使用する初期の Cursor、ドラッグの Transferable 対象データ、DragSourceListener、および FlavorMap を使用して、ドラッグを開始します。 |
public static final Cursor DefaultCopyDrop
Cursor。GraphicsEnvironment.isHeadless() が true を返す場合は null。public static final Cursor DefaultMoveDrop
Cursor。GraphicsEnvironment.isHeadless() が true を返す場合は null。public static final Cursor DefaultLinkDrop
Cursor。GraphicsEnvironment.isHeadless() が true を返す場合は null。public static final Cursor DefaultCopyNoDrop
Cursor。GraphicsEnvironment.isHeadless() が true を返す場合は null。public static final Cursor DefaultMoveNoDrop
Cursor。GraphicsEnvironment.isHeadless() が true を返す場合は null。public static final Cursor DefaultLinkNoDrop
Cursor。GraphicsEnvironment.isHeadless() が true を返す場合は null。public DragSource()
throws HeadlessException
DragSource を作成します。HeadlessException - GraphicsEnvironment.isHeadless() が true を返す場合GraphicsEnvironment.isHeadless()public static DragSource getDefaultDragSource()
DragSource オブジェクトを取得します。HeadlessException - GraphicsEnvironment.isHeadless() が true を返す場合GraphicsEnvironment.isHeadless()public static boolean isDragImageSupported()
Image のサポートが使用可能かどうかを報告します。
public void startDrag(DragGestureEvent trigger, Cursor dragCursor, Image dragImage, Point imageOffset, Transferable transferable, DragSourceListener dsl, FlavorMap flavorMap) throws InvalidDnDOperationException
DragGestureEvent、使用する初期の Cursor、ドラッグする Image、トリガーの瞬間における Cursor のホットスポットからの Image 原点のオフセット、ドラッグの Transferable 対象データ、DragSourceListener、および FlavorMap で、ドラッグを開始します。
trigger - ドラッグを開始した DragGestureEventdragCursor - このドラッグ操作の初期の Cursor。デフォルトのカーソル処理の場合は null。ドラッグ&ドロップ中のカーソル処理メカニズムの詳細は、DragSourceContext を参照してください。dragImage - ドラッグするイメージ、または nullimageOffset - トリガーの瞬間における Cursor のホットスポットからの Image 原点のオフセットtransferable - ドラッグの対象データdsl - DragSourceListenerflavorMap - 使用する FlavorMap、または null
InvalidDnDOperationException - ドラッグ&ドロップシステムがドラッグ操作を開始できない場合、または既存のドラッグ操作を引き続き実行中にユーザーがドラッグを開始しようとした場合public void startDrag(DragGestureEvent trigger, Cursor dragCursor, Transferable transferable, DragSourceListener dsl, FlavorMap flavorMap) throws InvalidDnDOperationException
DragGestureEvent、使用する初期の Cursor、ドラッグの Transferable 対象データ、DragSourceListener、および FlavorMap を使用して、ドラッグを開始します。
trigger - ドラッグを開始した DragGestureEventdragCursor - このドラッグ操作の初期の Cursor。デフォルトのカーソル処理の場合は null。ドラッグ&ドロップ中のカーソル処理メカニズムの詳細は、DragSourceContext を参照してください。transferable - ドラッグの対象データdsl - DragSourceListenerflavorMap - 使用する FlavorMap、または null
InvalidDnDOperationException - ドラッグ&ドロップシステムがドラッグ操作を開始できない場合、または既存のドラッグ操作を引き続き実行中にユーザーがドラッグを開始しようとした場合public void startDrag(DragGestureEvent trigger, Cursor dragCursor, Image dragImage, Point dragOffset, Transferable transferable, DragSourceListener dsl) throws InvalidDnDOperationException
DragGestureEvent、使用する初期の Cursor、ドラッグする Image、トリガーの瞬間における Cursor のホットスポットからの Image 原点のオフセット、ドラッグの対象データ、および DragSourceListener で、ドラッグを開始します。
trigger - ドラッグを開始した DragGestureEventdragCursor - このドラッグ操作の初期の Cursor。デフォルトのカーソル処理の場合は null。ドラッグ&ドロップ中のカーソル処理メカニズムの詳細は、DragSourceContext を参照してください。dragImage - ドラッグする Image、または nulldragOffset - トリガーの瞬間における Cursor のホットスポットからの Image 原点のオフセットtransferable - ドラッグの対象データdsl - DragSourceListener
InvalidDnDOperationException - ドラッグ&ドロップシステムがドラッグ操作を開始できない場合、または既存のドラッグ操作を引き続き実行中にユーザーがドラッグを開始しようとした場合public void startDrag(DragGestureEvent trigger, Cursor dragCursor, Transferable transferable, DragSourceListener dsl) throws InvalidDnDOperationException
DragGestureEvent、使用する初期の Cursor、ドラッグの Transferable 対象データ、および DragSourceListener を使用して、ドラッグを開始します。
trigger - ドラッグを開始した DragGestureEventdragCursor - このドラッグ操作の初期の Cursor。デフォルトのカーソル処理の場合は null。ドラッグ&ドロップ中のカーソル処理メカニズムの詳細は、DragSourceContext クラスを参照transferable - ドラッグの対象データdsl - DragSourceListener
InvalidDnDOperationException - ドラッグ&ドロップシステムがドラッグ操作を開始できない場合、または既存のドラッグ操作を引き続き実行中にユーザーがドラッグを開始しようとした場合protected DragSourceContext createDragSourceContext(java.awt.dnd.peer.DragSourceContextPeer dscp, DragGestureEvent dgl, Cursor dragCursor, Image dragImage, Point imageOffset, Transferable t, DragSourceListener dsl)
DragSourceContext を作成します。
新しい DragSourceContext サブクラスを組み込むには、DragSource をサブクラス化し、このメソッドをオーバーライドします。
dragImage が null の場合は、このドラッグ操作のドラッグオーバーフィードバックを表すためにイメージが使用されませんが、NullPointerException はスローされません。
dsl が null の場合は、作成された DragSourceContext にドラッグソースリスナが登録されませんが、NullPointerException はスローされません。
dscp - このドラッグの DragSourceContextPeerdgl - ドラッグをトリガーした DragGestureEventdragCursor - このドラッグ操作の初期の Cursor。デフォルトのカーソル処理の場合は null。ドラッグ&ドロップ中のカーソル処理メカニズムの詳細は、DragSourceContext クラスを参照dragImage - ドラッグする Image、または nullimageOffset - トリガーの瞬間におけるカーソルのホットスポットからの Image 原点のオフセットt - ドラッグの対象データdsl - DragSourceListenerDragSourceContextNullPointerException - dscp が null である場合NullPointerException - dgl が null である場合NullPointerException - dragImage が null ではなく、imageOffset が null の場合NullPointerException - t が null である場合IllegalArgumentException - トリガーイベントに関連付けられた Component が null の場合。IllegalArgumentException - トリガーイベントの DragSource が null の場合。IllegalArgumentException - トリガーイベントのドラッグアクションが DnDConstants.ACTION_NONE の場合。IllegalArgumentException - トリガーイベントに関連付けられた DragGestureRecognizer のソースアクションが DnDConstants.ACTION_NONE に等しい場合。public FlavorMap getFlavorMap()
DragSource の FlavorMap を返します。
DragSource の FlavorMappublic <T extends DragGestureRecognizer> T createDragGestureRecognizer(Class<T> recognizerAbstractClass, Component c, int actions, DragGestureListener dgl)
DragGestureRecognizer の指定された抽象サブクラスを実装する新しい DragGestureRecognizer を作成し、指定された Component と DragGestureListener を新しく作成されたオブジェクト上に設定します。
recognizerAbstractClass - 要求された抽象型actions - 許可されているソースドラッグアクションc - Component ターゲットdgl - 通知する DragGestureListener
DragGestureRecognizer。Toolkit.createDragGestureRecognizer メソッドが、要求された DragGestureRecognizer サブクラスに使用可能な実装を持たず、null を返した場合は nullpublic DragGestureRecognizer createDefaultDragGestureRecognizer(Component c, int actions, DragGestureListener dgl)
DragSource に DragGestureRecognizer のデフォルト抽象サブクラスを実装する新しい DragGestureRecognizer を作成し、指定された Component と DragGestureListener を新しく作成されたオブジェクト上に設定します。
この DragSource の場合、デフォルトは MouseDragGestureRecognizer です。
c - レコグナイザの Component ターゲットactions - 許可されているソースアクションdgl - 通知する DragGestureListener
DragGestureRecognizer。Toolkit.createDragGestureRecognizer メソッドが、要求された DragGestureRecognizer サブクラスに使用可能な実装を持たず、null を返した場合は nullpublic void addDragSourceListener(DragSourceListener dsl)
DragSource で開始されたドラッグ操作中にドラッグソースイベントを受信するために、指定された DragSourceListener をこの DragSource に追加します。null リスナーが指定されている場合は、何も処理は行われず、例外はスローされません。dsl - 追加する DragSourceListenerremoveDragSourceListener(java.awt.dnd.DragSourceListener), getDragSourceListeners()public void removeDragSourceListener(DragSourceListener dsl)
DragSource から指定された DragSourceListener を削除します。null リスナーが指定されている場合は、何も処理は行われず、例外はスローされません。引数で指定されたリスナーが以前にこの DragSource に追加されなかった場合は、何も処理は行われず、例外はスローされません。dsl - 削除する DragSourceListeneraddDragSourceListener(java.awt.dnd.DragSourceListener), getDragSourceListeners()public DragSourceListener[] getDragSourceListeners()
DragSource に登録されたすべての DragSourceListener を取得します。DragSource のすべての DragSourceListener。このようなリスナーが現在登録されていない場合は、空の配列addDragSourceListener(java.awt.dnd.DragSourceListener), removeDragSourceListener(java.awt.dnd.DragSourceListener)public void addDragSourceMotionListener(DragSourceMotionListener dsml)
DragSource で開始されたドラッグ操作中にドラッグモーションイベントを受信するために、指定された DragSourceMotionListener をこの DragSource に追加します。null リスナーが指定されている場合は、何も処理は行われず、例外はスローされません。dsml - 追加する DragSourceMotionListenerremoveDragSourceMotionListener(java.awt.dnd.DragSourceMotionListener), getDragSourceMotionListeners()public void removeDragSourceMotionListener(DragSourceMotionListener dsml)
DragSource から指定された DragSourceMotionListener を削除します。null リスナーが指定されている場合は、何も処理は行われず、例外はスローされません。引数で指定されたリスナーが以前にこの DragSource に追加されなかった場合は、何も処理は行われず、例外はスローされません。dsml - 削除する DragSourceMotionListeneraddDragSourceMotionListener(java.awt.dnd.DragSourceMotionListener), getDragSourceMotionListeners()public DragSourceMotionListener[] getDragSourceMotionListeners()
DragSource に登録されたすべての DragSourceMotionListener を取得します。DragSource のすべての DragSourceMotionListener。このようなリスナーが現在登録されていない場合は、空の配列addDragSourceMotionListener(java.awt.dnd.DragSourceMotionListener), removeDragSourceMotionListener(java.awt.dnd.DragSourceMotionListener)public <T extends EventListener> T[] getListeners(Class<T> listenerType)
DragSource に FooListener として登録されているすべてのオブジェクトを取得します。FooListener は、addFooListener メソッドを使用して登録されます。listenerType - 要求されるリスナーの型。java.util.EventListener の子孫のインタフェースを指定してくださいDragSource 上で FooListener として登録されているすべてのオブジェクトの配列。このようなリスナーが追加されていない場合は空の配列ClassCastException - listenerType で、java.util.EventListener を実装するクラスまたはインタフェースが指定されなかった場合getDragSourceListeners(), getDragSourceMotionListeners()public static int getDragThreshold()
MouseDragGestureRecognizer の推奨される動作を定義します。
システムプロパティー awt.dnd.drag.threshold が正の整数に設定されている場合、このメソッドはシステムプロパティーの値を返します。そうでない場合、関連するデスクトッププロパティーが使用でき、Java プラットフォームの実装でサポートされている場合、このメソッドはそのプロパティーの値を返します。そうでない場合、このメソッドは何らかのデフォルト値を返します。関連するデスクトッププロパティーは、java.awt.Toolkit.getDesktopProperty("DnD.gestureMotionThreshold") を使用して照会できます。
MouseDragGestureRecognizer バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.