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, 2014, Oracle and/or its affiliates. All rights reserved.