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 - DropTargetDragEventvoid dragOver(DropTargetDragEvent dtde)
DropTarget のドロップサイトの操作可能な部分にあるときに呼び出されます。dtde - DropTargetDragEventvoid dropActionChanged(DropTargetDragEvent dtde)
dtde - DropTargetDragEventvoid dragExit(DropTargetEvent dte)
DropTarget のドロップサイトの操作可能な部分を出たときに呼び出されます。dte - DropTargetEventvoid 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, 2013, Oracle and/or its affiliates. All rights reserved.