モジュール java.desktop
パッケージ java.awt.dnd

クラスDragSourceContext

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 int
    ユーザー操作が変更されたことを示す、updateCurrentCursor()によって使用されるint
    protected static int
    Cursorをデフォルト(ドロップなし)のCursorに変更するべきであることを示す、updateCurrentCursor()によって使用されるint
    protected static int
    CursorDropTargetに入ったことを示す、updateCurrentCursor()によって使用されるint
    protected static int
    CursorDropTargetの上にあることを示す、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
    まだ追加されていない場合は、このDragSourceContextDragSourceListenerを追加します。
    void
    このDragSourceContextとそれに関連付けられたDragSourceに登録されたDragSourceListenerdragDropEndを呼び出し、指定されたDragSourceDropEventをそれに渡します。
    void
    このDragSourceContextとそれに関連付けられたDragSourceに登録されたDragSourceListenerdragEnterを呼び出し、指定されたDragSourceDragEventをそれに渡します。
    void
    このDragSourceContextとそれに関連付けられたDragSourceに登録されたDragSourceListenerdragExitを呼び出し、指定されたDragSourceEventをそれに渡します。
    void
    このDragSourceContextに関連付けられたDragSourceに登録されたDragSourceMotionListenerdragMouseMovedを呼び出し、指定されたDragSourceDragEventをそれに渡します。
    void
    このDragSourceContextとそれに関連付けられたDragSourceに登録されたDragSourceListenerdragOverを呼び出し、指定されたDragSourceDragEventをそれに渡します。
    void
    このDragSourceContextとそれに関連付けられたDragSourceに登録されたDragSourceListenerdropActionChangedを呼び出し、指定されたDragSourceDragEventをそれに渡します。
    このDragSourceContextに関連付けられたComponentを返します。
    現在のカスタム・ドラッグCursorを返します。
    このDragSourceContextをインスタンス化したDragSourceを返します。
    int
    このDragSourceContextに関連付けられたドラッグ操作のドラッグ・ソースでサポートされている一連のドロップ・アクションを表すDnDConstantsの、ビット単位のマスクを返します。
    このDragSourceContextに関連付けられたTransferableを返します。
    ドラッグを最初にトリガーしたDragGestureEventを返します。
    void
    このDragSourceContextから指定されたDragSourceListenerを削除します。
    void
    このドラッグ操作のカスタム・カーソルを指定されたCursorに設定します。
    void
    TransferableDataFlavorが変更されたことをピアに通知します。
    protected void
    updateCurrentCursor​(int sourceAct, int targetAct, int status)
    デフォルトのドラッグ・カーソルの動作がアクティブな場合、このメソッドは、ドラッグ・ソースでサポートされる指定されたアクション、ドロップ・ターゲット・アクション、およびステータスにデフォルトのドラッグ・カーソルを設定します。そうでない場合、このメソッドは何も行いません。

    クラス java.lang.Objectで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • フィールド詳細

    • DEFAULT

      protected static final int DEFAULT
      Cursorをデフォルト(ドロップなし)のCursorに変更するべきであることを示す、updateCurrentCursor()によって使用されるint
      関連項目:
      定数フィールド値
    • ENTER

      protected static final int ENTER
      CursorDropTargetに入ったことを示す、updateCurrentCursor()によって使用されるint
      関連項目:
      定数フィールド値
    • OVER

      protected static final int OVER
      CursorDropTargetの上にあることを示す、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を作成します。
      DragSourceContextPeernullの場合は、NullPointerExceptionがスローされます。

      DragGestureEventnullの場合は、NullPointerExceptionがスローされます。

      Cursornullの場合、例外はスローされず、このドラッグ操作に対してデフォルトのドラッグ・カーソルの動作がアクティブになります。

      Imagenullの場合、例外はスローされません。

      Imagenullでなく、オフセットがnull NullPointerExceptionであればスローされます。

      Transferablenullの場合は、NullPointerExceptionがスローされます。

      DragSourceListenernullの場合、例外はスローされません。
      パラメータ:
      trigger - トリガー・イベント
      dragCursor - このドラッグ操作の初期のCursor。デフォルトのカーソル処理の場合はnull。ドラッグ&ドロップ中のカーソル処理メカニズムの詳細は、クラス・レベルのドキュメントを参照
      dragImage - ドラッグするImage (またはnull)
      offset - トリガー・イベントの瞬間におけるホット・スポットからのイメージ原点のオフセット
      t - Transferable
      dsl - DragSourceListener
      例外:
      IllegalArgumentException - トリガー・イベントに関連付けられたComponentnullの場合。
      IllegalArgumentException - トリガー・イベントのDragSourcenullの場合。
      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に設定します。 指定されたCursornullの場合は、このドラッグ操作に対してデフォルトのドラッグ・カーソルの動作がアクティブになり、それ以外の場合は非アクティブになります。
      パラメータ:
      c - このドラッグ操作の初期のCursor。デフォルトのカーソル処理の場合はnull。ドラッグ&ドロップ中のカーソル処理の詳細は、クラス・レベルのドキュメントを参照
    • getCursor

      public Cursor getCursor()
      現在のカスタム・ドラッグCursorを返します。
      戻り値:
      現在のカスタム・ドラッグCursorが設定されている場合は、nullが返されます。
      関連項目:
      setCursor(java.awt.Cursor)
    • addDragSourceListener

      public void addDragSourceListener(DragSourceListener dsl) throws TooManyListenersException
      まだ追加されていない場合は、このDragSourceContextDragSourceListenerを追加します。 DragSourceListenerがすでに存在する場合、このメソッドはTooManyListenersExceptionをスローします。
      パラメータ:
      dsl - 追加するDragSourceListener nullは禁止されていないが、パラメータとして受け付けられないことに注意。
      例外:
      TooManyListenersException - DragSourceListenerがすでに追加されている場合
    • removeDragSourceListener

      public void removeDragSourceListener(DragSourceListener dsl)
      このDragSourceContextから指定されたDragSourceListenerを削除します。
      パラメータ:
      dsl - 削除するDragSourceListenernullは禁止されていないが、パラメータとして受け付けられないことに注意。
    • transferablesFlavorsChanged

      public void transferablesFlavorsChanged()
      TransferableDataFlavorが変更されたことをピアに通知します。
    • dragEnter

      public void dragEnter(DragSourceDragEvent dsde)
      このDragSourceContextとそれに関連付けられたDragSourceに登録されたDragSourceListenerdragEnterを呼び出し、指定されたDragSourceDragEventをそれに渡します。
      定義:
      dragEnter、インタフェース: DragSourceListener
      パラメータ:
      dsde - DragSourceDragEvent
    • dragOver

      public void dragOver(DragSourceDragEvent dsde)
      このDragSourceContextとそれに関連付けられたDragSourceに登録されたDragSourceListenerdragOverを呼び出し、指定されたDragSourceDragEventをそれに渡します。
      定義:
      dragOver、インタフェース: DragSourceListener
      パラメータ:
      dsde - DragSourceDragEvent
    • dragExit

      public void dragExit(DragSourceEvent dse)
      このDragSourceContextとそれに関連付けられたDragSourceに登録されたDragSourceListenerdragExitを呼び出し、指定されたDragSourceEventをそれに渡します。
      定義:
      dragExit、インタフェース: DragSourceListener
      パラメータ:
      dse - DragSourceEvent
    • dropActionChanged

      public void dropActionChanged(DragSourceDragEvent dsde)
      このDragSourceContextとそれに関連付けられたDragSourceに登録されたDragSourceListenerdropActionChangedを呼び出し、指定されたDragSourceDragEventをそれに渡します。
      定義:
      dropActionChanged、インタフェース: DragSourceListener
      パラメータ:
      dsde - DragSourceDragEvent
    • dragDropEnd

      public void dragDropEnd(DragSourceDropEvent dsde)
      このDragSourceContextとそれに関連付けられたDragSourceに登録されたDragSourceListenerdragDropEndを呼び出し、指定されたDragSourceDropEventをそれに渡します。
      定義:
      dragDropEnd、インタフェース: DragSourceListener
      パラメータ:
      dsde - DragSourceDropEvent
    • dragMouseMoved

      public void dragMouseMoved(DragSourceDragEvent dsde)
      このDragSourceContextに関連付けられたDragSourceに登録されたDragSourceMotionListenerdragMouseMovedを呼び出し、指定された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 - フィールドDEFAULTENTEROVERCHANGEDのいずれか