モジュール java.desktop

パッケージ java.awt.dnd

ドラッグ&ドロップ操作は、多くのグラフィカル・ユーザー・インタフェース・システムで見られる直接的な操作ジェスチャで、GUIの表現要素に論理的に関連付けられた2つのエンティティ間で情報を変換するメカニズムを提供します。 ドラッグ&ドロップは通常、適切な入力デバイスを使ったユーザーの物理的ジェスチャによって動作し、ナビゲーション中に後続のデータ変換で考えられる結果に関するユーザーへの連続的なフィード・バックをGUIの表現要素を介して可能にするメカニズムと、後続のデータ・ネゴシエーションとデータ変換を容易に行える機能の両方を提供します。

このパッケージは、Javaでドラッグ&ドロップ操作を行うのに必要なクラスおよびインタフェースを定義します。 ドラッグ・ソースとドロップ・ターゲットのクラス、およびドラッグされているデータを転送するためのイベントを定義します。 このパッケージはまた、ドラッグ&ドロップ操作中にユーザーに視覚的なフィード・バックを提供する手段を備えています。

標準的なドラッグ&ドロップ操作は次の状態に分解することができます(必ずしも連続していません)。

  • Transferable (転送可能になりうる)データのドラッグ&ドロップを開始するために、GUIの表現要素(Component)に関連付けられたDragSource (ドラッグ・ソース)が作成されます。
  • Transferableデータ型を消費できる可能性のある、GUIの表現要素(Component)に関連付けられた1つ以上のDropTargetが生成または削除されます。
  • DragGestureRecognizerDragSourceから取得され、ユーザーのドラッグ開始ジェスチャをComponent上で追跡し識別するために、Componentと関連付けられます。
  • ユーザーがComponent上でドラッグ・ジェスチャを行うと、登録されたDragGestureRecognizerがそれを検出し、そのDragGestureListenerに通知します。

    ノート: このAPIでは、ドラッグ&ドロップ操作の開始要因がユーザーによる物理的なジェスチャであると一貫して記載していますが、これは、DragSourceが適切に実装されている場合のプログラムによって開始されたDnD操作を除外するものではありません。 このパッケージには、マウス・デバイス・ジェスチャを認識するための抽象クラスMouseDragGestureRecognizerが含まれています。 その他の入力デバイスや、Componentクラスの特定のセマンティックスをサポートするために、プラットフォームによってその他のabstractサブクラスが提供されることがあります。

  • DragGestureListenerによって、DragSourceがユーザーの代わりにドラッグ&ドロップ操作を開始します。このとき、GUI Cursorが動画化されたり、操作の対象である項目のImageが描画されたりすることがあります。
  • ユーザー・ジェスチャが、DropTargetが関連付けられているGUIのComponentの上を移動すると、サポートされる操作および関連するデータ型に基づいて、DragSourceは「ドラッグオーバー」フィード・バック効果を提供するために通知を受信し、DropTargetは「ドラッグ・アンダー」フィード・バック効果を提供するために通知を受け取ります。

ジェスチャ自体は、論理カーソルをGUI階層全体にわたって移動し、GUI Componentの幾何学的図形と交差します。これにより、論理的な「ドラッグ」カーソルがComponentとそれに関連付けられたDropTargetに入り、横切り、その後離れる可能性があります。

DragSourceオブジェクトはユーザーに「ドラッグオーバー」フィードバックを示します。通常の場合、論理カーソルに関連したGUI Cursorを動画化します。

DropTargetオブジェクトは、通常は関連付けられたGUI ComponentのGUI Cursorにアニメーションを描画することによって、「ドラッグ・アンダー」フィード・バックをユーザーに示します。

フィードバック結果の判定、および必ずどちらかが発生するデータ変換の最終的な成功または失敗は、次のようにパラメータ化されます。

  • ユーザーが選択し、DragSourceDropTargetの両方がサポートする変換「操作」、つまりCopy、MoveまたはReference(link)によって、パラメータ化される。
  • DragSourceが提供するデータ型のセットと、DropTargetが包括できるデータ型のセットとの共通部分によって、パラメータ化される。
  • 通常はドロップの成功で終わるドラッグ操作をユーザーが終了するとき、DragSourceおよびDropTargetは、DragSourceに関連した情報を含みその情報の型のネゴシエーションおよび変換となる通知を、Transferableオブジェクトを介して受け取る。

導入されたバージョン:
1.2