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

インタフェースDropTargetListener

すべてのスーパー・インタフェース:
EventListener
既知のすべての実装クラス:
DropTarget, DropTargetAdapter

public interface DropTargetListener
extends EventListener
DropTargetListenerインタフェースは、対象のDropTargetが関与するDnD操作の通知を提供するためにDropTargetクラスによって使用されるコールバック・インタフェースです。 このインタフェースのメソッドを実装すると、ドラッグ&ドロップ操作中に視覚的な「ドラッグ・アンダー」フィード・バックをユーザーに提供できます。

インタフェースを実装することによってリスナー・オブジェクトを作成したあと、それをDropTargetに登録します。 そのDropTargetのドロップ・サイトの操作可能な部分にドラッグが入ったり、移動したり、出たりした場合、ドロップ・アクションが変更された場合、およびドロップが発生した場合は、リスナー・オブジェクト内の関連するメソッドが呼び出され、DropTargetEventがそのメソッドに渡されます。

DropTargetのドロップ・サイトの操作可能な部分とは、関連付けられたComponentの幾何学的図形の一部であり、オーバーラップしているトップ・レベルのウィンドウや、アクティブなDropTargetが関連付けられているZ軸順で高位の別のComponentによって隠されていない部分のことです。

ドラッグ中に、現在のドラッグ操作に関連付けられたデータを、リスナーのメソッドに渡されたDropTargetDragEventインスタンス上のgetTransferable()を呼び出すことによって取得できます。

DropTargetDragEventインスタンス上のgetTransferable()は、対応するリスナーのメソッド内でのみ呼び出すようにし、そのメソッドから戻る前に、必要なすべてのデータを返されたTransferableから取得するようにしてください。

導入されたバージョン:
1.2
  • メソッドのサマリー

    修飾子と型 メソッド 説明
    void dragEnter​(DropTargetDragEvent dtde)
    ドラッグ操作の進行中に、マウス・ポインタが、このリスナーに登録されたDropTargetのドロップ・サイトの操作可能な部分に入ったときに呼び出されます。
    void dragExit​(DropTargetEvent dte)
    ドラッグ操作の進行中に、マウス・ポインタが、このリスナーに登録されたDropTargetのドロップ・サイトの操作可能な部分を出たときに呼び出されます。
    void dragOver​(DropTargetDragEvent dtde)
    ドラッグ操作の進行中に、マウス・ポインタが引き続き、このリスナーに登録されたDropTargetのドロップ・サイトの操作可能な部分にあるときに呼び出されます。
    void drop​(DropTargetDropEvent dtde)
    このリスナーに登録されたDropTargetのドロップ・サイトの操作可能な部分へのドロップでドラッグ操作が終了したときに呼び出されます。
    void dropActionChanged​(DropTargetDragEvent dtde)
    ユーザーが現在のドロップ・ジェスチャを変更した場合に呼び出されます。
  • メソッドの詳細

    • dragEnter

      void dragEnter​(DropTargetDragEvent dtde)
      ドラッグ操作の進行中に、マウス・ポインタが、このリスナーに登録されたDropTargetのドロップ・サイトの操作可能な部分に入ったときに呼び出されます。
      パラメータ:
      dtde - DropTargetDragEvent
    • dragOver

      void dragOver​(DropTargetDragEvent dtde)
      ドラッグ操作の進行中に、マウス・ポインタが引き続き、このリスナーに登録されたDropTargetのドロップ・サイトの操作可能な部分にあるときに呼び出されます。
      パラメータ:
      dtde - DropTargetDragEvent
    • dropActionChanged

      void dropActionChanged​(DropTargetDragEvent dtde)
      ユーザーが現在のドロップ・ジェスチャを変更した場合に呼び出されます。
      パラメータ:
      dtde - DropTargetDragEvent
    • dragExit

      void dragExit​(DropTargetEvent dte)
      ドラッグ操作の進行中に、マウス・ポインタが、このリスナーに登録されたDropTargetのドロップ・サイトの操作可能な部分を出たときに呼び出されます。
      パラメータ:
      dte - DropTargetEvent
    • drop

      void drop​(DropTargetDropEvent dtde)
      このリスナーに登録されたDropTargetのドロップ・サイトの操作可能な部分へのドロップでドラッグ操作が終了したときに呼び出されます。

      このメソッドは、ジェスチャに関連付けられたデータの転送を引き受ける役割を果たします。 DropTargetDropEventは、転送されるデータ・オブジェクトを表すTransferableオブジェクトを取得する手段を提供します。

      このメソッドから、DropTargetListenerは、DropTargetDropEventパラメータのacceptDrop(int dropAction)またはrejectDrop()メソッドを使用してドロップを受け入れるか、または拒否します。

      DropTargetDropEventのgetTransferable()メソッドはacceptDrop()の前ではなくあとに呼び出すことができ、返されたTransferableのgetTransferData()メソッドを使用してデータ転送を実行できます。

      ドロップが完了したら、このメソッドの実装は、DropTargetDropEventのdropComplete(boolean success)メソッドに適切なbooleanを渡すことによって、ドロップの成功または失敗を通知する必要があります。

      ノート: DropTargetDropEventのdropComplete(boolean success)メソッドの呼出しの前にデータ転送を完了するようにしてください。 それ以降では、DropTargetDropEvent.getTransferable()によって返されたTransferableのgetTransferData()メソッドの呼出しの成功が保証されるのはデータ転送がローカルの場合だけ、つまりDropTargetDropEvent.isLocalTransfer()trueを返す場合だけです。 そうでない場合、呼出しの動作は実装に依存します。

      パラメータ:
      dtde - DropTargetDropEvent