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
- ドラッグを開始した DragGestureEvent
dragCursor
- このドラッグ操作の初期の Cursor
。デフォルトのカーソル処理の場合は null
。ドラッグ&ドロップ中のカーソル処理メカニズムの詳細は、DragSourceContext を参照してください。dragImage
- ドラッグするイメージ、または null
imageOffset
- トリガーの瞬間における Cursor
のホットスポットからの Image
原点のオフセットtransferable
- ドラッグの対象データdsl
- DragSourceListener
flavorMap
- 使用する FlavorMap
、または null
InvalidDnDOperationException
- ドラッグ&ドロップシステムがドラッグ操作を開始できない場合、または既存のドラッグ操作を引き続き実行中にユーザーがドラッグを開始しようとした場合public void startDrag(DragGestureEvent trigger, Cursor dragCursor, Transferable transferable, DragSourceListener dsl, FlavorMap flavorMap) throws InvalidDnDOperationException
DragGestureEvent
、使用する初期の Cursor
、ドラッグの Transferable
対象データ、DragSourceListener
、および FlavorMap
を使用して、ドラッグを開始します。
trigger
- ドラッグを開始した DragGestureEvent
dragCursor
- このドラッグ操作の初期の Cursor
。デフォルトのカーソル処理の場合は null
。ドラッグ&ドロップ中のカーソル処理メカニズムの詳細は、DragSourceContext を参照してください。transferable
- ドラッグの対象データdsl
- DragSourceListener
flavorMap
- 使用する 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
- ドラッグを開始した DragGestureEvent
dragCursor
- このドラッグ操作の初期の Cursor
。デフォルトのカーソル処理の場合は null
。ドラッグ&ドロップ中のカーソル処理メカニズムの詳細は、DragSourceContext を参照してください。dragImage
- ドラッグする Image
、または null
dragOffset
- トリガーの瞬間における Cursor
のホットスポットからの Image
原点のオフセットtransferable
- ドラッグの対象データdsl
- DragSourceListener
InvalidDnDOperationException
- ドラッグ&ドロップシステムがドラッグ操作を開始できない場合、または既存のドラッグ操作を引き続き実行中にユーザーがドラッグを開始しようとした場合public void startDrag(DragGestureEvent trigger, Cursor dragCursor, Transferable transferable, DragSourceListener dsl) throws InvalidDnDOperationException
DragGestureEvent
、使用する初期の Cursor
、ドラッグの Transferable
対象データ、および DragSourceListener
を使用して、ドラッグを開始します。
trigger
- ドラッグを開始した DragGestureEvent
dragCursor
- このドラッグ操作の初期の 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
- このドラッグの DragSourceContextPeer
dgl
- ドラッグをトリガーした DragGestureEvent
dragCursor
- このドラッグ操作の初期の Cursor
。デフォルトのカーソル処理の場合は null
。ドラッグ&ドロップ中のカーソル処理メカニズムの詳細は、DragSourceContext クラスを参照dragImage
- ドラッグする Image
、または null
imageOffset
- トリガーの瞬間におけるカーソルのホットスポットからの Image
原点のオフセットt
- ドラッグの対象データdsl
- DragSourceListener
DragSourceContext
NullPointerException
- 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
の FlavorMap
public <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
を返した場合は null
public 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
を返した場合は null
public void addDragSourceListener(DragSourceListener dsl)
DragSource
で開始されたドラッグ操作中にドラッグソースイベントを受信するために、指定された DragSourceListener
をこの DragSource
に追加します。null
リスナーが指定されている場合は、何も処理は行われず、例外はスローされません。dsl
- 追加する DragSourceListener
removeDragSourceListener(java.awt.dnd.DragSourceListener)
, getDragSourceListeners()
public void removeDragSourceListener(DragSourceListener dsl)
DragSource
から指定された DragSourceListener
を削除します。null
リスナーが指定されている場合は、何も処理は行われず、例外はスローされません。引数で指定されたリスナーが以前にこの DragSource
に追加されなかった場合は、何も処理は行われず、例外はスローされません。dsl
- 削除する DragSourceListener
addDragSourceListener(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
- 追加する DragSourceMotionListener
removeDragSourceMotionListener(java.awt.dnd.DragSourceMotionListener)
, getDragSourceMotionListeners()
public void removeDragSourceMotionListener(DragSourceMotionListener dsml)
DragSource
から指定された DragSourceMotionListener
を削除します。null
リスナーが指定されている場合は、何も処理は行われず、例外はスローされません。引数で指定されたリスナーが以前にこの DragSource
に追加されなかった場合は、何も処理は行われず、例外はスローされません。dsml
- 削除する DragSourceMotionListener
addDragSourceMotionListener(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.