public interface DropTargetListener extends EventListener
DropTargetListener
インタフェースは、対象のDropTarget
が関与するDnD操作の通知を提供するためにDropTarget
クラスによって使用されるコールバック・インタフェースです。このインタフェースのメソッドを実装すると、ドラッグ&ドロップ操作中に視覚的な「ドラッグ・アンダー」フィード・バックをユーザーに提供できます。
インタフェースを実装することによってリスナー・オブジェクトを作成したあと、それをDropTarget
に登録します。そのDropTarget
のドロップ・サイトの操作可能な部分にドラッグが入ったり、移動したり、出たりした場合、ドロップ・アクションが変更された場合、およびドロップが発生した場合は、リスナー・オブジェクト内の関連するメソッドが呼び出され、DropTargetEvent
がそのメソッドに渡されます。
DropTarget
のドロップ・サイトの操作可能な部分とは、関連付けられたComponent
の幾何学的図形の一部であり、オーバーラップしているトップ・レベルのウィンドウや、アクティブなDropTarget
が関連付けられているZ軸順で高位の別のComponent
によって隠されていない部分のことです。
ドラッグ中に、現在のドラッグ操作に関連付けられたデータを、リスナーのメソッドに渡されたDropTargetDragEvent
インスタンス上のgetTransferable()
を呼び出すことによって取得できます。
DropTargetDragEvent
インスタンス上のgetTransferable()
は、対応するリスナーのメソッド内でのみ呼び出すようにし、そのメソッドから戻る前に、必要なすべてのデータを返されたTransferable
から取得するようにしてください。
修飾子と型 | メソッドと説明 |
---|---|
void |
dragEnter(DropTargetDragEvent dtde)
ドラッグ操作の進行中に、マウス・ポインタが、このリスナーに登録された
DropTarget のドロップ・サイトの操作可能な部分に入ったときに呼び出されます。 |
void |
dragExit(DropTargetEvent dte)
ドラッグ操作の進行中に、マウス・ポインタが、このリスナーに登録された
DropTarget のドロップ・サイトの操作可能な部分を出たときに呼び出されます。 |
void |
dragOver(DropTargetDragEvent dtde)
ドラッグ操作の進行中に、マウス・ポインタが引き続き、このリスナーに登録された
DropTarget のドロップ・サイトの操作可能な部分にあるときに呼び出されます。 |
void |
drop(DropTargetDropEvent dtde)
このリスナーに登録された
DropTarget のドロップ・サイトの操作可能な部分へのドロップでドラッグ操作が終了したときに呼び出されます。 |
void |
dropActionChanged(DropTargetDragEvent dtde)
ユーザーが現在のドロップ・ジェスチャを変更した場合に呼び出されます。
|
void dragEnter(DropTargetDragEvent dtde)
DropTarget
のドロップ・サイトの操作可能な部分に入ったときに呼び出されます。dtde
- DropTargetDragEvent
void dragOver(DropTargetDragEvent dtde)
DropTarget
のドロップ・サイトの操作可能な部分にあるときに呼び出されます。dtde
- DropTargetDragEvent
void dropActionChanged(DropTargetDragEvent dtde)
dtde
- DropTargetDragEvent
void dragExit(DropTargetEvent dte)
DropTarget
のドロップ・サイトの操作可能な部分を出たときに呼び出されます。dte
- DropTargetEvent
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
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.