JavaTM Platform
Standard Ed. 6

java.awt.dnd
インタフェース DropTargetListener

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

public interface DropTargetListener
extends EventListener

DropTargetListener インタフェースは、対象の DropTarget を含む DnD 操作の通知を DropTarget クラスが提供するのに使うコールバックインタフェースです。このインタフェースのメソッドを実装すると、ドラッグ&ドロップ操作中に視覚的な「ドラッグアンダー」フィードバックをユーザーに提供できます。  

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

DropTarget のドロップサイトの操作可能な部分とは、関連する Component の幾何学的図形の一部で、重なっている最上位のウィンドウや、関連するアクティブな DropTarget を持つ、Z-Order が高位である別の 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 オブジェクトを取得する手段を提供します。

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

acceptDrop() より前ではなく後に、DropTargetDropEvent の getTransferable() メソッドが呼び出され、返された Transferable の getTransferData() メソッドを使ってデータ変換が行われます。  

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

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

パラメータ:
dtde - DropTargetDropEvent

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。