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, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。