public class DragSourceContext extends Object implements DragSourceListener, DragSourceMotionListener, Serializable
DragSourceContextクラスは、ドラッグ&ドロップ・プロトコルのイニシエータ側の管理を担当します。 特に、DragSourceListenersおよびDragSourceMotionListenersへのドラッグ・イベント通知を管理し、ドラッグ操作のソース・データを表すTransferableを提供する役割を果たします。
DragSourceContext自体がDragSourceListenerおよびDragSourceMotionListenerインタフェースを実装していることに注意してください。 これは、DragSourceで作成されたプラットフォーム・ピア(DragSourceContextPeerインスタンス)が、DragSourceContextに進行中の操作の状態変更を通知できるようにするためです。 これにより、DragSourceContextオブジェクトは、プラットフォームとドラッグ操作のイニシエータによって提供されたリスナーの間にDragSourceContext自体を挿入できます。
デフォルトでは、DragSourceContextはドラッグ&ドロップ操作の現在の状態に応じてカーソルを設定します。 たとえば、ユーザーが移動アクションを選択し、ポインタが移動アクションを受け入れるターゲットの上にある場合は、デフォルトの移動カーソルが表示されます。 ポインタが転送を受け入れない領域の上にある場合は、デフォルトの「ドロップなし」のカーソルが表示されます。
このデフォルトの処理メカニズムは、setCursor(java.awt.Cursor)メソッドによってカスタム・カーソルが設定されているときは無効になっています。 デフォルトの処理が無効になっている場合、DragSourceイベントを待機し、setCursor()メソッドを呼び出すことによってカーソルを最新の状態に維持するのは開発者の役割です。 あるいは、DragSourceクラスとDragSourceContextクラスのカスタム実装を提供することによって、カスタム・カーソルの動作を実現することもできます。
DragSourceListener, DragSourceMotionListener, DnDConstants, 直列化された形式| 修飾子と型 | フィールド | 説明 |
|---|---|---|
protected static int |
CHANGED |
ユーザー操作が変更されたことを示す、updateCurrentCursor()によって使用される
int。 |
protected static int |
DEFAULT |
Cursorをデフォルト(ドロップなし)のCursorに変更するべきであることを示す、updateCurrentCursor()によって使用されるint。 |
protected static int |
ENTER |
CursorがDropTargetに入ったことを示す、updateCurrentCursor()によって使用されるint。 |
protected static int |
OVER |
CursorがDropTargetの上にあることを示す、updateCurrentCursor()によって使用されるint。 |
| コンストラクタ | 説明 |
|---|---|
DragSourceContext(java.awt.dnd.peer.DragSourceContextPeer dscp, DragGestureEvent trigger, Cursor dragCursor, Image dragImage, Point offset, Transferable t, DragSourceListener dsl) |
このコンストラクタは、
DragSourceから呼び出され、このドラッグのDragSourceContextPeer、ドラッグをトリガーしたDragGestureEvent、ドラッグに使用する初期のCursor、ドラッグの実行中に表示する(オプションの) Image、トリガー・イベントの瞬間におけるホット・スポットからのImage原点のオフセット、Transferable対象データ、およびドラッグ&ドロップ操作中に使用するDragSourceListenerを使用して、新しいDragSourceContextを作成します。 |
| 修飾子と型 | メソッド | 説明 |
|---|---|---|
void |
addDragSourceListener(DragSourceListener dsl) |
まだ追加されていない場合は、この
DragSourceContextにDragSourceListenerを追加します。 |
void |
dragDropEnd(DragSourceDropEvent dsde) |
この
DragSourceContextとそれに関連付けられたDragSourceに登録されたDragSourceListenerでdragDropEndを呼び出し、指定されたDragSourceDropEventをそれに渡します。 |
void |
dragEnter(DragSourceDragEvent dsde) |
この
DragSourceContextとそれに関連付けられたDragSourceに登録されたDragSourceListenerでdragEnterを呼び出し、指定されたDragSourceDragEventをそれに渡します。 |
void |
dragExit(DragSourceEvent dse) |
この
DragSourceContextとそれに関連付けられたDragSourceに登録されたDragSourceListenerでdragExitを呼び出し、指定されたDragSourceEventをそれに渡します。 |
void |
dragMouseMoved(DragSourceDragEvent dsde) |
この
DragSourceContextに関連付けられたDragSourceに登録されたDragSourceMotionListenerでdragMouseMovedを呼び出し、指定されたDragSourceDragEventをそれに渡します。 |
void |
dragOver(DragSourceDragEvent dsde) |
この
DragSourceContextとそれに関連付けられたDragSourceに登録されたDragSourceListenerでdragOverを呼び出し、指定されたDragSourceDragEventをそれに渡します。 |
void |
dropActionChanged(DragSourceDragEvent dsde) |
この
DragSourceContextとそれに関連付けられたDragSourceに登録されたDragSourceListenerでdropActionChangedを呼び出し、指定されたDragSourceDragEventをそれに渡します。 |
Component |
getComponent() |
この
DragSourceContextに関連付けられたComponentを返します。 |
Cursor |
getCursor() |
現在のドラッグ
Cursorを返します。 |
DragSource |
getDragSource() |
この
DragSourceContextをインスタンス化したDragSourceを返します。 |
int |
getSourceActions() |
この
DragSourceContextに関連付けられたドラッグ操作のドラッグ・ソースでサポートされている一連のドロップ・アクションを表すDnDConstantsの、ビット単位のマスクを返します。 |
Transferable |
getTransferable() |
この
DragSourceContextに関連付けられたTransferableを返します。 |
DragGestureEvent |
getTrigger() |
ドラッグを最初にトリガーした
DragGestureEventを返します。 |
void |
removeDragSourceListener(DragSourceListener dsl) |
この
DragSourceContextから指定されたDragSourceListenerを削除します。 |
void |
setCursor(Cursor c) |
このドラッグ操作のカーソルを指定された
Cursorに設定します。 |
void |
transferablesFlavorsChanged() |
TransferableのDataFlavorが変更されたことをピアに通知します。 |
protected void |
updateCurrentCursor(int sourceAct, int targetAct, int status) |
デフォルトのドラッグ・カーソルの動作がアクティブな場合、このメソッドは、ドラッグ・ソースでサポートされる指定されたアクション、ドロップ・ターゲット・アクション、およびステータスにデフォルトのドラッグ・カーソルを設定します。そうでない場合、このメソッドは何も行いません。
|
protected static final int DEFAULT
Cursorをデフォルト(ドロップなし)のCursorに変更するべきであることを示す、updateCurrentCursor()によって使用されるint。protected static final int ENTER
CursorがDropTargetに入ったことを示す、updateCurrentCursor()によって使用されるint。protected static final int OVER
CursorがDropTargetの上にあることを示す、updateCurrentCursor()によって使用されるint。protected static final int CHANGED
int。public DragSourceContext(java.awt.dnd.peer.DragSourceContextPeer dscp,
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の場合、例外はスローされません。 dscp - このドラッグのDragSourceContextPeertrigger - トリガー・イベントdragCursor - このドラッグ操作の初期のCursor。デフォルトのカーソル処理の場合はnull。ドラッグ&ドロップ中のカーソル処理メカニズムの詳細は、クラス・レベルのドキュメントを参照dragImage - ドラッグするImage (またはnull)offset - トリガー・イベントの瞬間におけるホット・スポットからのイメージ原点のオフセットt - Transferabledsl - DragSourceListenerIllegalArgumentException - トリガー・イベントに関連付けられたComponentがnullの場合。IllegalArgumentException - トリガー・イベントのDragSourceがnullの場合。IllegalArgumentException - トリガー・イベントのドラッグ・アクションがDnDConstants.ACTION_NONEの場合。IllegalArgumentException - トリガー・イベントに関連付けられたDragGestureRecognizerのソース・アクションがDnDConstants.ACTION_NONEに等しい場合。NullPointerException - dscp、trigger、tのいずれかがnullの場合、またはdragImageがnull以外であり、かつオフセットがnullの場合public DragSource getDragSource()
DragSourceContextをインスタンス化したDragSourceを返します。DragSourceContextをインスタンス化したDragSourcepublic Component getComponent()
DragSourceContextに関連付けられたComponentを返します。Componentpublic DragGestureEvent getTrigger()
DragGestureEventを返します。public int getSourceActions()
DragSourceContextに関連付けられたドラッグ操作のドラッグ・ソースでサポートされている一連のドロップ・アクションを表すDnDConstantsの、ビット単位のマスクを返します。public void setCursor(Cursor c)
Cursorに設定します。 指定されたCursorがnullの場合は、このドラッグ操作に対してデフォルトのドラッグ・カーソルの動作がアクティブになり、それ以外の場合は非アクティブになります。 c - このドラッグ操作の初期のCursor。デフォルトのカーソル処理の場合はnull。ドラッグ&ドロップ中のカーソル処理の詳細は、クラス・レベルのドキュメントを参照public Cursor getCursor()
Cursorを返します。
Cursorpublic void addDragSourceListener(DragSourceListener dsl) throws TooManyListenersException
DragSourceContextにDragSourceListenerを追加します。 DragSourceListenerがすでに存在する場合、このメソッドはTooManyListenersExceptionをスローします。
dsl - 追加するDragSourceListener。 nullは禁止されていないが、パラメータとして受け付けられないことに注意。
TooManyListenersException - DragSourceListenerがすでに追加されている場合public void removeDragSourceListener(DragSourceListener dsl)
DragSourceContextから指定されたDragSourceListenerを削除します。dsl - 削除するDragSourceListener。nullは禁止されていないが、パラメータとして受け付けられないことに注意。public void transferablesFlavorsChanged()
TransferableのDataFlavorが変更されたことをピアに通知します。public void dragEnter(DragSourceDragEvent dsde)
DragSourceContextとそれに関連付けられたDragSourceに登録されたDragSourceListenerでdragEnterを呼び出し、指定されたDragSourceDragEventをそれに渡します。dragEnter、インタフェースDragSourceListenerdsde - DragSourceDragEventpublic void dragOver(DragSourceDragEvent dsde)
DragSourceContextとそれに関連付けられたDragSourceに登録されたDragSourceListenerでdragOverを呼び出し、指定されたDragSourceDragEventをそれに渡します。dragOver、インタフェースDragSourceListenerdsde - DragSourceDragEventpublic void dragExit(DragSourceEvent dse)
DragSourceContextとそれに関連付けられたDragSourceに登録されたDragSourceListenerでdragExitを呼び出し、指定されたDragSourceEventをそれに渡します。dragExit、インタフェースDragSourceListenerdse - DragSourceEventpublic void dropActionChanged(DragSourceDragEvent dsde)
DragSourceContextとそれに関連付けられたDragSourceに登録されたDragSourceListenerでdropActionChangedを呼び出し、指定されたDragSourceDragEventをそれに渡します。dropActionChanged、インタフェースDragSourceListenerdsde - DragSourceDragEventpublic void dragDropEnd(DragSourceDropEvent dsde)
DragSourceContextとそれに関連付けられたDragSourceに登録されたDragSourceListenerでdragDropEndを呼び出し、指定されたDragSourceDropEventをそれに渡します。dragDropEnd、インタフェースDragSourceListenerdsde - DragSourceDropEventpublic void dragMouseMoved(DragSourceDragEvent dsde)
DragSourceContextに関連付けられたDragSourceに登録されたDragSourceMotionListenerでdragMouseMovedを呼び出し、指定されたDragSourceDragEventをそれに渡します。dragMouseMoved、インタフェースDragSourceMotionListenerdsde - DragSourceDragEventpublic Transferable getTransferable()
DragSourceContextに関連付けられたTransferableを返します。Transferableprotected void updateCurrentCursor(int sourceAct,
int targetAct,
int status)
sourceAct - ドラッグ・ソースでサポートされているアクションtargetAct - ドロップ・ターゲット・アクションstatus - フィールドDEFAULT、ENTER、OVER、CHANGEDのいずれか バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。