モジュール java.desktop
パッケージ java.awt.dnd

クラスDragSource

java.lang.Object
java.awt.dnd.DragSource
すべての実装されたインタフェース:
Serializable

public class DragSource extends Object implements Serializable
DragSourceは、ドラッグ&ドロップ操作の開始を担当するエンティティであり、いくつかのシナリオで使用される可能性があります。
  • JVMごとに、そのJVMの寿命の間1デフォルト・インスタンス
  • 潜在的なドラッグ・イニシエータ・オブジェクト(TextFieldなど)のクラスごとに1インスタンス。実装により異なる
  • GUIの特定の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に関して、その操作の期間を通して一定です。

導入されたバージョン:
1.2
関連項目: