- すべての実装されたインタフェース:
- DragSourceListener,- DragSourceMotionListener,- Serializable,- EventListener
DragSourceContextクラスは、ドラッグ&ドロップ・プロトコルのイニシエータ側の管理を担当します。 特に、DragSourceListenersおよびDragSourceMotionListenersへのドラッグ・イベント通知を管理し、ドラッグ操作のソース・データを表すTransferableを提供する役割を果たします。 
 
 DragSourceContext自体がDragSourceListenerおよびDragSourceMotionListenerインタフェースを実装していることに注意してください。 これは、DragSourceで作成されたプラットフォーム・ピア(DragSourceContextPeerインスタンス)が、DragSourceContextに進行中の操作の状態変更を通知できるようにするためです。 これにより、DragSourceContextオブジェクトは、プラットフォームとドラッグ操作のイニシエータによって提供されたリスナーの間にDragSourceContext自体を挿入できます。 
 
 デフォルトでは、DragSourceContextはドラッグ&ドロップ操作の現在の状態に応じてカーソルを設定します。 たとえば、ユーザーが移動アクションを選択し、ポインタが移動アクションを受け入れるターゲットの上にある場合は、デフォルトの移動カーソルが表示されます。 ポインタが転送を受け入れない領域の上にある場合は、デフォルトの「ドロップなし」のカーソルが表示されます。 
 
 このデフォルトの処理メカニズムは、setCursor(java.awt.Cursor)メソッドによってカスタム・カーソルが設定されているときは無効になっています。 デフォルトの処理が無効になっている場合、DragSourceイベントを待機し、setCursor()メソッドを呼び出すことによってカーソルを最新の状態に維持するのは開発者の役割です。 あるいは、DragSourceクラスとDragSourceContextクラスのカスタム実装を提供することによって、カスタム・カーソルの動作を実現することもできます。 
- 導入されたバージョン:
- 1.2
- 関連項目:
- DragSourceListener,- DragSourceMotionListener,- DnDConstants, 直列化された形式
- 
フィールドのサマリーフィールド修飾子と型フィールド説明protected static intユーザー操作が変更されたことを示す、updateCurrentCursor()によって使用されるint。protected static intCursorをデフォルト(ドロップなし)のCursorに変更するべきであることを示す、updateCurrentCursor()によって使用されるint。protected static intCursorがDropTargetに入ったことを示す、updateCurrentCursor()によって使用されるint。protected static intCursorがDropTargetの上にあることを示す、updateCurrentCursor()によって使用されるint。
- 
コンストラクタのサマリーコンストラクタコンストラクタ説明DragSourceContext(DragGestureEvent trigger, Cursor dragCursor, Image dragImage, Point offset, Transferable t, DragSourceListener dsl)このコンストラクタは、DragSourceから呼び出され、このドラッグのDragSourceContextPeer、ドラッグをトリガーしたDragGestureEvent、ドラッグに使用する初期のCursor、ドラッグの実行中に表示する(オプションの)Image、トリガー・イベントの瞬間におけるホット・スポットからのImage原点のオフセット、Transferable対象データ、およびドラッグ&ドロップ操作中に使用するDragSourceListenerを使用して、新しいDragSourceContextを作成します。
- 
メソッドのサマリー修飾子と型メソッド説明voidまだ追加されていない場合は、このDragSourceContextにDragSourceListenerを追加します。voiddragDropEnd(DragSourceDropEvent dsde)このDragSourceContextとそれに関連付けられたDragSourceに登録されたDragSourceListenerでdragDropEndを呼び出し、指定されたDragSourceDropEventをそれに渡します。voiddragEnter(DragSourceDragEvent dsde)このDragSourceContextとそれに関連付けられたDragSourceに登録されたDragSourceListenerでdragEnterを呼び出し、指定されたDragSourceDragEventをそれに渡します。voiddragExit(DragSourceEvent dse)このDragSourceContextとそれに関連付けられたDragSourceに登録されたDragSourceListenerでdragExitを呼び出し、指定されたDragSourceEventをそれに渡します。voidこのDragSourceContextに関連付けられたDragSourceに登録されたDragSourceMotionListenerでdragMouseMovedを呼び出し、指定されたDragSourceDragEventをそれに渡します。voiddragOver(DragSourceDragEvent dsde)このDragSourceContextとそれに関連付けられたDragSourceに登録されたDragSourceListenerでdragOverを呼び出し、指定されたDragSourceDragEventをそれに渡します。voidこのDragSourceContextとそれに関連付けられたDragSourceに登録されたDragSourceListenerでdropActionChangedを呼び出し、指定されたDragSourceDragEventをそれに渡します。このDragSourceContextに関連付けられたComponentを返します。現在のカスタム・ドラッグCursorを返します。このDragSourceContextをインスタンス化したDragSourceを返します。intこのDragSourceContextに関連付けられたドラッグ操作のドラッグ・ソースでサポートされている一連のドロップ・アクションを表すDnDConstantsの、ビット単位のマスクを返します。このDragSourceContextに関連付けられたTransferableを返します。ドラッグを最初にトリガーしたDragGestureEventを返します。voidこのDragSourceContextから指定されたDragSourceListenerを削除します。voidこのドラッグ操作のカスタム・カーソルを指定されたCursorに設定します。voidTransferableのDataFlavorが変更されたことをピアに通知します。protected voidupdateCurrentCursor(int sourceAct, int targetAct, int status)デフォルトのドラッグ・カーソルの動作がアクティブな場合、このメソッドは、ドラッグ・ソースでサポートされる指定されたアクション、ドロップ・ターゲット・アクション、およびステータスにデフォルトのドラッグ・カーソルを設定します。そうでない場合、このメソッドは何も行いません。
- 
フィールド詳細- 
DEFAULTprotected static final int DEFAULTCursorをデフォルト(ドロップなし)のCursorに変更するべきであることを示す、updateCurrentCursor()によって使用されるint。- 関連項目:
- 定数フィールド値
 
- 
ENTERprotected static final int ENTERCursorがDropTargetに入ったことを示す、updateCurrentCursor()によって使用されるint。- 関連項目:
- 定数フィールド値
 
- 
OVERprotected static final int OVERCursorがDropTargetの上にあることを示す、updateCurrentCursor()によって使用されるint。- 関連項目:
- 定数フィールド値
 
- 
CHANGEDprotected static final int CHANGEDユーザー操作が変更されたことを示す、updateCurrentCursor()によって使用されるint。- 関連項目:
- 定数フィールド値
 
 
- 
- 
コンストラクタの詳細- 
DragSourceContextpublic DragSourceContext(DragGestureEvent trigger, Cursor dragCursor, Image dragImage, Point offset, Transferable t, DragSourceListener dsl)このコンストラクタは、DragSourceから呼び出され、このドラッグのDragSourceContextPeer、ドラッグをトリガーしたDragGestureEvent、ドラッグに使用する初期のCursor、ドラッグの実行中に表示する(オプションの)Image、トリガー・イベントの瞬間におけるホット・スポットからのImage原点のオフセット、Transferable対象データ、およびドラッグ&ドロップ操作中に使用するDragSourceListenerを使用して、新しいDragSourceContextを作成します。
 DragSourceContextPeerがnullの場合は、NullPointerExceptionがスローされます。
 DragGestureEventがnullの場合は、NullPointerExceptionがスローされます。
 Cursorがnullの場合、例外はスローされず、このドラッグ操作に対してデフォルトのドラッグ・カーソルの動作がアクティブになります。
 Imageがnullの場合、例外はスローされません。Imageがnullでなく、オフセットがnull NullPointerExceptionであればスローされます。
 Transferableがnullの場合は、NullPointerExceptionがスローされます。
 DragSourceListenerがnullの場合、例外はスローされません。- パラメータ:
- trigger- トリガー・イベント
- dragCursor- このドラッグ操作の初期の- Cursor。デフォルトのカーソル処理の場合は- null。ドラッグ&ドロップ中のカーソル処理メカニズムの詳細は、クラス・レベルのドキュメントを参照
- dragImage- ドラッグする- Image(または- null)
- offset- トリガー・イベントの瞬間におけるホット・スポットからのイメージ原点のオフセット
- t-- Transferable
- dsl-- DragSourceListener
- 例外:
- IllegalArgumentException- トリガー・イベントに関連付けられた- Componentが- nullの場合。
- IllegalArgumentException- トリガー・イベントの- DragSourceが- nullの場合。
- IllegalArgumentException- トリガー・イベントのドラッグ・アクションが- DnDConstants.ACTION_NONEの場合。
- IllegalArgumentException- トリガー・イベントに関連付けられた- DragGestureRecognizerのソース・アクションが- DnDConstants.ACTION_NONEに等しい場合。
- NullPointerException- dscp、trigger、tのいずれかがnullの場合、またはdragImageがnull以外であり、かつオフセットがnullの場合
 
 
- 
- 
メソッドの詳細- 
getDragSourcepublic DragSource getDragSource()このDragSourceContextをインスタンス化したDragSourceを返します。- 戻り値:
- このDragSourceContextをインスタンス化したDragSource
 
- 
getComponentpublic Component getComponent()このDragSourceContextに関連付けられたComponentを返します。- 戻り値:
- ドラッグを開始したComponent
 
- 
getTriggerpublic DragGestureEvent getTrigger()ドラッグを最初にトリガーしたDragGestureEventを返します。- 戻り値:
- ドラッグをトリガーしたEvent
 
- 
getSourceActionspublic int getSourceActions()このDragSourceContextに関連付けられたドラッグ操作のドラッグ・ソースでサポートされている一連のドロップ・アクションを表すDnDConstantsの、ビット単位のマスクを返します。- 戻り値:
- ドラッグ・ソースでサポートされているドロップ・アクション
 
- 
setCursorpublic void setCursor(Cursor c)このドラッグ操作のカスタム・カーソルを指定されたCursorに設定します。 指定されたCursorがnullの場合は、このドラッグ操作に対してデフォルトのドラッグ・カーソルの動作がアクティブになり、それ以外の場合は非アクティブになります。- パラメータ:
- c- このドラッグ操作の初期の- Cursor。デフォルトのカーソル処理の場合は- null。ドラッグ&ドロップ中のカーソル処理の詳細は、クラス・レベルのドキュメントを参照
 
- 
getCursorpublic Cursor getCursor()現在のカスタム・ドラッグCursorを返します。- 戻り値:
- 現在のカスタム・ドラッグCursorが設定されている場合は、nullが返されます。
- 関連項目:
- setCursor(java.awt.Cursor)
 
- 
addDragSourceListenerpublic void addDragSourceListener(DragSourceListener dsl) throws TooManyListenersExceptionまだ追加されていない場合は、このDragSourceContextにDragSourceListenerを追加します。DragSourceListenerがすでに存在する場合、このメソッドはTooManyListenersExceptionをスローします。- パラメータ:
- dsl- 追加する- DragSourceListener。- nullは禁止されていないが、パラメータとして受け付けられないことに注意。
- 例外:
- TooManyListenersException-- DragSourceListenerがすでに追加されている場合
 
- 
removeDragSourceListenerpublic void removeDragSourceListener(DragSourceListener dsl)このDragSourceContextから指定されたDragSourceListenerを削除します。- パラメータ:
- dsl- 削除する- DragSourceListener。- nullは禁止されていないが、パラメータとして受け付けられないことに注意。
 
- 
transferablesFlavorsChangedpublic void transferablesFlavorsChanged()TransferableのDataFlavorが変更されたことをピアに通知します。
- 
dragEnterpublic void dragEnter(DragSourceDragEvent dsde)このDragSourceContextとそれに関連付けられたDragSourceに登録されたDragSourceListenerでdragEnterを呼び出し、指定されたDragSourceDragEventをそれに渡します。- 定義:
- dragEnter、インタフェース:- DragSourceListener
- パラメータ:
- dsde-- DragSourceDragEvent
 
- 
dragOverpublic void dragOver(DragSourceDragEvent dsde)このDragSourceContextとそれに関連付けられたDragSourceに登録されたDragSourceListenerでdragOverを呼び出し、指定されたDragSourceDragEventをそれに渡します。- 定義:
- dragOver、インタフェース:- DragSourceListener
- パラメータ:
- dsde-- DragSourceDragEvent
 
- 
dragExitpublic void dragExit(DragSourceEvent dse)このDragSourceContextとそれに関連付けられたDragSourceに登録されたDragSourceListenerでdragExitを呼び出し、指定されたDragSourceEventをそれに渡します。- 定義:
- dragExit、インタフェース:- DragSourceListener
- パラメータ:
- dse-- DragSourceEvent
 
- 
dropActionChangedpublic void dropActionChanged(DragSourceDragEvent dsde)このDragSourceContextとそれに関連付けられたDragSourceに登録されたDragSourceListenerでdropActionChangedを呼び出し、指定されたDragSourceDragEventをそれに渡します。- 定義:
- dropActionChanged、インタフェース:- DragSourceListener
- パラメータ:
- dsde-- DragSourceDragEvent
 
- 
dragDropEndpublic void dragDropEnd(DragSourceDropEvent dsde)このDragSourceContextとそれに関連付けられたDragSourceに登録されたDragSourceListenerでdragDropEndを呼び出し、指定されたDragSourceDropEventをそれに渡します。- 定義:
- dragDropEnd、インタフェース:- DragSourceListener
- パラメータ:
- dsde-- DragSourceDropEvent
 
- 
dragMouseMovedpublic void dragMouseMoved(DragSourceDragEvent dsde)このDragSourceContextに関連付けられたDragSourceに登録されたDragSourceMotionListenerでdragMouseMovedを呼び出し、指定されたDragSourceDragEventをそれに渡します。- 定義:
- dragMouseMoved、インタフェース:- DragSourceMotionListener
- パラメータ:
- dsde-- DragSourceDragEvent
- 導入されたバージョン:
- 1.4
 
- 
getTransferablepublic Transferable getTransferable()このDragSourceContextに関連付けられたTransferableを返します。- 戻り値:
- Transferable
 
- 
updateCurrentCursorprotected void updateCurrentCursor(int sourceAct, int targetAct, int status)デフォルトのドラッグ・カーソルの動作がアクティブな場合、このメソッドは、ドラッグ・ソースでサポートされる指定されたアクション、ドロップ・ターゲット・アクション、およびステータスにデフォルトのドラッグ・カーソルを設定します。そうでない場合、このメソッドは何も行いません。- パラメータ:
- sourceAct- ドラッグ・ソースでサポートされているアクション
- targetAct- ドロップ・ターゲット・アクション
- status- フィールド- DEFAULT、- ENTER、- OVER、- CHANGEDのいずれか
 
 
-