- java.lang.Object
-
- java.awt.dnd.DragSourceContext
-
- すべての実装されたインタフェース:
DragSourceListener,DragSourceMotionListener,Serializable,EventListener
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クラスのカスタム実装を提供することによって、カスタム・カーソルの動作を実現することもできます。- 導入されたバージョン:
- 1.2
- 関連項目:
DragSourceListener,DragSourceMotionListener,DnDConstants, 直列化された形式
-
-
フィールドのサマリー
フィールド 修飾子と型 フィールド 説明 protected static intCHANGEDユーザー操作が変更されたことを示す、updateCurrentCursor()によって使用されるint。protected static intDEFAULTCursorをデフォルト(ドロップなし)のCursorに変更するべきであることを示す、updateCurrentCursor()によって使用されるint。protected static intENTERCursorがDropTargetに入ったことを示す、updateCurrentCursor()によって使用されるint。protected static intOVERCursorが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を作成します。
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 voidaddDragSourceListener(DragSourceListener dsl)まだ追加されていない場合は、この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をそれに渡します。voiddragMouseMoved(DragSourceDragEvent dsde)このDragSourceContextに関連付けられたDragSourceに登録されたDragSourceMotionListenerでdragMouseMovedを呼び出し、指定されたDragSourceDragEventをそれに渡します。voiddragOver(DragSourceDragEvent dsde)このDragSourceContextとそれに関連付けられたDragSourceに登録されたDragSourceListenerでdragOverを呼び出し、指定されたDragSourceDragEventをそれに渡します。voiddropActionChanged(DragSourceDragEvent dsde)このDragSourceContextとそれに関連付けられたDragSourceに登録されたDragSourceListenerでdropActionChangedを呼び出し、指定されたDragSourceDragEventをそれに渡します。ComponentgetComponent()このDragSourceContextに関連付けられたComponentを返します。CursorgetCursor()現在のカスタム・ドラッグCursorを返します。DragSourcegetDragSource()このDragSourceContextをインスタンス化したDragSourceを返します。intgetSourceActions()このDragSourceContextに関連付けられたドラッグ操作のドラッグ・ソースでサポートされている一連のドロップ・アクションを表すDnDConstantsの、ビット単位のマスクを返します。TransferablegetTransferable()このDragSourceContextに関連付けられたTransferableを返します。DragGestureEventgetTrigger()ドラッグを最初にトリガーしたDragGestureEventを返します。voidremoveDragSourceListener(DragSourceListener dsl)このDragSourceContextから指定されたDragSourceListenerを削除します。voidsetCursor(Cursor c)このドラッグ操作のカスタム・カーソルを指定されたCursorに設定します。voidtransferablesFlavorsChanged()TransferableのDataFlavorが変更されたことをピアに通知します。protected voidupdateCurrentCursor(int sourceAct, int targetAct, int status)デフォルトのドラッグ・カーソルの動作がアクティブな場合、このメソッドは、ドラッグ・ソースでサポートされる指定されたアクション、ドロップ・ターゲット・アクション、およびステータスにデフォルトのドラッグ・カーソルを設定します。そうでない場合、このメソッドは何も行いません。
-
-
-
フィールドの詳細
-
DEFAULT
protected static final int DEFAULT
Cursorをデフォルト(ドロップなし)のCursorに変更するべきであることを示す、updateCurrentCursor()によって使用されるint。- 関連項目:
- 定数フィールド値
-
ENTER
protected static final int ENTER
CursorがDropTargetに入ったことを示す、updateCurrentCursor()によって使用されるint。- 関連項目:
- 定数フィールド値
-
OVER
protected static final int OVER
CursorがDropTargetの上にあることを示す、updateCurrentCursor()によって使用されるint。- 関連項目:
- 定数フィールド値
-
CHANGED
protected static final int CHANGED
ユーザー操作が変更されたことを示す、updateCurrentCursor()によって使用されるint。- 関連項目:
- 定数フィールド値
-
-
コンストラクタの詳細
-
DragSourceContext
public 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-Transferabledsl-DragSourceListener- 例外:
IllegalArgumentException- トリガー・イベントに関連付けられたComponentがnullの場合。IllegalArgumentException- トリガー・イベントのDragSourceがnullの場合。IllegalArgumentException- トリガー・イベントのドラッグ・アクションがDnDConstants.ACTION_NONEの場合。IllegalArgumentException- トリガー・イベントに関連付けられたDragGestureRecognizerのソース・アクションがDnDConstants.ACTION_NONEに等しい場合。NullPointerException- dscp、trigger、tのいずれかがnullの場合、またはdragImageがnull以外であり、かつオフセットがnullの場合
-
-
メソッドの詳細
-
getDragSource
public DragSource getDragSource()
このDragSourceContextをインスタンス化したDragSourceを返します。- 戻り値:
- この
DragSourceContextをインスタンス化したDragSource
-
getComponent
public Component getComponent()
このDragSourceContextに関連付けられたComponentを返します。- 戻り値:
- ドラッグを開始した
Component
-
getTrigger
public DragGestureEvent getTrigger()
ドラッグを最初にトリガーしたDragGestureEventを返します。- 戻り値:
- ドラッグをトリガーしたEvent
-
getSourceActions
public int getSourceActions()
このDragSourceContextに関連付けられたドラッグ操作のドラッグ・ソースでサポートされている一連のドロップ・アクションを表すDnDConstantsの、ビット単位のマスクを返します。- 戻り値:
- ドラッグ・ソースでサポートされているドロップ・アクション
-
setCursor
public void setCursor(Cursor c)
このドラッグ操作のカスタム・カーソルを指定されたCursorに設定します。 指定されたCursorがnullの場合は、このドラッグ操作に対してデフォルトのドラッグ・カーソルの動作がアクティブになり、それ以外の場合は非アクティブになります。- パラメータ:
c- このドラッグ操作の初期のCursor。デフォルトのカーソル処理の場合はnull。ドラッグ&ドロップ中のカーソル処理の詳細は、クラス・レベルのドキュメントを参照
-
getCursor
public Cursor getCursor()
現在のカスタム・ドラッグCursorを返します。- 戻り値:
- 現在のカスタム・ドラッグ
Cursorが設定されている場合は、nullが返されます。 - 関連項目:
setCursor(java.awt.Cursor)
-
addDragSourceListener
public void addDragSourceListener(DragSourceListener dsl) throws TooManyListenersException
まだ追加されていない場合は、このDragSourceContextにDragSourceListenerを追加します。DragSourceListenerがすでに存在する場合、このメソッドはTooManyListenersExceptionをスローします。- パラメータ:
dsl- 追加するDragSourceListener。nullは禁止されていないが、パラメータとして受け付けられないことに注意。- 例外:
TooManyListenersException-DragSourceListenerがすでに追加されている場合
-
removeDragSourceListener
public void removeDragSourceListener(DragSourceListener dsl)
このDragSourceContextから指定されたDragSourceListenerを削除します。- パラメータ:
dsl- 削除するDragSourceListener。nullは禁止されていないが、パラメータとして受け付けられないことに注意。
-
transferablesFlavorsChanged
public void transferablesFlavorsChanged()
TransferableのDataFlavorが変更されたことをピアに通知します。
-
dragEnter
public void dragEnter(DragSourceDragEvent dsde)
このDragSourceContextとそれに関連付けられたDragSourceに登録されたDragSourceListenerでdragEnterを呼び出し、指定されたDragSourceDragEventをそれに渡します。- 定義:
dragEnter、インタフェースDragSourceListener- パラメータ:
dsde-DragSourceDragEvent
-
dragOver
public void dragOver(DragSourceDragEvent dsde)
このDragSourceContextとそれに関連付けられたDragSourceに登録されたDragSourceListenerでdragOverを呼び出し、指定されたDragSourceDragEventをそれに渡します。- 定義:
dragOver、インタフェースDragSourceListener- パラメータ:
dsde-DragSourceDragEvent
-
dragExit
public void dragExit(DragSourceEvent dse)
このDragSourceContextとそれに関連付けられたDragSourceに登録されたDragSourceListenerでdragExitを呼び出し、指定されたDragSourceEventをそれに渡します。- 定義:
dragExit、インタフェースDragSourceListener- パラメータ:
dse-DragSourceEvent
-
dropActionChanged
public void dropActionChanged(DragSourceDragEvent dsde)
このDragSourceContextとそれに関連付けられたDragSourceに登録されたDragSourceListenerでdropActionChangedを呼び出し、指定されたDragSourceDragEventをそれに渡します。- 定義:
dropActionChanged、インタフェースDragSourceListener- パラメータ:
dsde-DragSourceDragEvent
-
dragDropEnd
public void dragDropEnd(DragSourceDropEvent dsde)
このDragSourceContextとそれに関連付けられたDragSourceに登録されたDragSourceListenerでdragDropEndを呼び出し、指定されたDragSourceDropEventをそれに渡します。- 定義:
dragDropEnd、インタフェースDragSourceListener- パラメータ:
dsde-DragSourceDropEvent
-
dragMouseMoved
public void dragMouseMoved(DragSourceDragEvent dsde)
このDragSourceContextに関連付けられたDragSourceに登録されたDragSourceMotionListenerでdragMouseMovedを呼び出し、指定されたDragSourceDragEventをそれに渡します。- 定義:
dragMouseMoved、インタフェースDragSourceMotionListener- パラメータ:
dsde-DragSourceDragEvent- 導入されたバージョン:
- 1.4
-
getTransferable
public Transferable getTransferable()
このDragSourceContextに関連付けられたTransferableを返します。- 戻り値:
Transferable
-
updateCurrentCursor
protected void updateCurrentCursor(int sourceAct, int targetAct, int status)デフォルトのドラッグ・カーソルの動作がアクティブな場合、このメソッドは、ドラッグ・ソースでサポートされる指定されたアクション、ドロップ・ターゲット・アクション、およびステータスにデフォルトのドラッグ・カーソルを設定します。そうでない場合、このメソッドは何も行いません。- パラメータ:
sourceAct- ドラッグ・ソースでサポートされているアクションtargetAct- ドロップ・ターゲット・アクションstatus- フィールドDEFAULT、ENTER、OVER、CHANGEDのいずれか
-
-