JavaTM 2 Platform
Std. Ed. v1.3

java.awt.dnd
クラス DragSourceContext

java.lang.Object
  |
  +--java.awt.dnd.DragSourceContext
すべての実装インタフェース:
DragSourceListener, EventListener

public class DragSourceContext
extends Object
implements DragSourceListener

DragSourceContext クラスは、ドラッグ&ドロッププロトコルのイニシエータ側を管理します。特に、DragSourceListener へのイベント通知を管理し、データ転送を有効にする Transferable 状態を提供します。

このクラスのインスタンスは、DragSource の startDrag() メソッドが正しく起動された結果として作成されます。このインスタンスは、DragSource のために操作の状態を追跡し、状態に変更があれば DragSourceListener にディスパッチします。

DragSourceContext 自体は DragSourceListener インターフェースを実装していることに注意してください。これは、DragSource で作成されたプラットフォームピア (DragSourceContextPeer インスタンス) が、DragSourceContext に対し、進行中の操作状態に変更があったことを通知できるようにするためです。これにより、DragSourceContext はプラットフォームと操作イニシエータで提供された DragSourceListener に、DragSourceContext 自体を挿入できます。

導入されたバージョン:
1.2

フィールドの概要
protected static int CHANGED
          ユーザ操作が変更されたことを示す、updateCurrentCursor() で使用される int です。
protected static int DEFAULT
          Cursor をデフォルト (ドロップなし) の Cursor に変更するよう指示する、updateCurrentCursor() で使用される int です。
protected static int ENTER
          CursorDropTarget に入力されたことを示す、updateCurrentCursor() で使用される int です。
protected static int OVER
          CursorDropTarget の上にあることを示す、updateCurrentCursor() で使用される int です。
 
コンストラクタの概要
DragSourceContext(java.awt.dnd.peer.DragSourceContextPeer dscp, DragGestureEvent trigger, Cursor dragCursor, Image dragImage, Point offset, Transferable t, DragSourceListener dsl)
          DragSource から呼び出され、このコンストラクタはこの Drag に DragSourceContextPeer を提供する新しい DragSourceContext を作成します。
 
メソッドの概要
 void addDragSourceListener(DragSourceListener dsl)
          まだ一つも追加されていない場合、この DragSourceContextDragSourceListener を追加します。
 void dragDropEnd(DragSourceDropEvent dsde)
          このメソッドは、dragDropEnd() に関連した DragSourceDropEvent をピアから遮断します。
 void dragEnter(DragSourceDragEvent dsde)
          このメソッドは、dragEnter() に関連した DragSourceDragEvent をピアから遮断します。
 void dragExit(DragSourceEvent dse)
          このメソッドは、dragExit() に関連した DragSourceEvent をピアから遮断します。
 void dragOver(DragSourceDragEvent dsde)
          このメソッドは、dragOver() に関連した DragSourceDragEvent をピアから遮断します。
 void dropActionChanged(DragSourceDragEvent dsde)
          このメソッドは、dropActionChanged() に関連した DragSourceDragEvent をピアから遮断します。
 Component getComponent()
          このメソッドは、この DragSourceContext に関連した Component を返します。
 Cursor getCursor()
          このメソッドは現在のドラッグ Cursor を返します。
 DragSource getDragSource()
          このメソッドは、DragSourceContext のインスタンスを生成した DragSource を返します。
 int getSourceActions()
          このメソッドは、この DragSourceContext に関連した現在のアクションを表す int を返します。
 Transferable getTransferable()
          このメソッドは、この DragSourceContext に関連した Transferable を返します。
 DragGestureEvent getTrigger()
          このメソッドは、ドラッグを最初にトリガーした DragGestureEvent を返します。
 void removeDragSourceListener(DragSourceListener dsl)
          このメソッドは、指定した DragSourceListener をこの DragSourceContext から削除します。
 void setCursor(Cursor c)
          このメソッドは現在のドラッグ Cursor を設定します。
 void transferablesFlavorsChanged()
          このメソッドは、Transferable の DataFlavors が変更されたことをピアに通知します。
protected  void updateCurrentCursor(int dropOp, 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(java.awt.dnd.peer.DragSourceContextPeer dscp,
                         DragGestureEvent trigger,
                         Cursor dragCursor,
                         Image dragImage,
                         Point offset,
                         Transferable t,
                         DragSourceListener dsl)
DragSource から呼び出され、このコンストラクタはこの Drag に DragSourceContextPeer を提供する新しい DragSourceContext を作成します。また、Drag をトリガーした DragGestureEvent、Drag に使用する初期の Cursor、Drag の実行中に表示する (任意の) Image、イベントをトリガーした瞬間でのホットスポットからの Image 起点のオフセット、Transferable サブジェクトデータ、およびドラッグ&ドロップ操作中に使用する DragSourceListener も作成します。このコンストラクタは DragSource から呼び出されます。

パラメータ:
dscp - このドラッグの DragSourceContextPeer
trigger - トリガーイベント
dragCursor - 初期の Cursor
dragImage - ドラッグする Image (または null)
offset - トリガーイベントの瞬間での、ホットスポットからのイメージ起点のオフセット
t - Transferable
dsl - DragSourceListener

例外:
IllegalArgumentException - トリガーインスタンスが不完全な場合
NullPointerException - dscp、dsl、トリガーまたは t が 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 に関連した現在のアクションを表す int を返します。

戻り値:
現在のアクション

setCursor

public void setCursor(Cursor c)
このメソッドは現在のドラッグ Cursor を設定します。

パラメータ:
c - 表示対象の Cursornull は禁止されていないが、このパラメータの許容値ではない

getCursor

public Cursor getCursor()
このメソッドは現在のドラッグ Cursor を返します。

戻り値:
現在のドラッグ Cursor

addDragSourceListener

public void addDragSourceListener(DragSourceListener dsl)
                           throws TooManyListenersException
まだ一つも追加されていない場合、この DragSourceContextDragSourceListener を追加します。DragSourceListener がすでに存在する場合、このメソッドは TooManyListenersException をスローします。

パラメータ:
dsl - 追加対象の DragSourceListenernull は禁止されていないが、パラメータとして許可されていない

例外:
TooManyListenersException - DragSourceListener がすでに追加されている場合

removeDragSourceListener

public void removeDragSourceListener(DragSourceListener dsl)
このメソッドは、指定した DragSourceListener をこの DragSourceContext から削除します。

パラメータ:
dsl - 削除対象の DragSourceListenernull は禁止されていないが、パラメータとして許可されていないことに注意

transferablesFlavorsChanged

public void transferablesFlavorsChanged()
このメソッドは、Transferable の DataFlavors が変更されたことをピアに通知します。

dragEnter

public void dragEnter(DragSourceDragEvent dsde)
このメソッドは、dragEnter() に関連した DragSourceDragEvent をピアから遮断します。

注: このメソッドは、ユーザではなく、ピア実装から呼び出されます。

定義:
インタフェース DragSourceListener 内の dragEnter
パラメータ:
dsde - 遮断された DragSourceDragEvent

dragOver

public void dragOver(DragSourceDragEvent dsde)
このメソッドは、dragOver() に関連した DragSourceDragEvent をピアから遮断します。

注: このメソッドは、ユーザではなく、ピア実装から呼び出されます。

定義:
インタフェース DragSourceListener 内の dragOver
パラメータ:
dsde - 遮断された DragSourceDragEvent

dragExit

public void dragExit(DragSourceEvent dse)
このメソッドは、dragExit() に関連した DragSourceEvent をピアから遮断します。

注: このメソッドは、ユーザではなく、ピア実装から呼び出されます。

定義:
インタフェース DragSourceListener 内の dragExit
パラメータ:
dse - 遮断された DragSourceEvent

dropActionChanged

public void dropActionChanged(DragSourceDragEvent dsde)
このメソッドは、dropActionChanged() に関連した DragSourceDragEvent をピアから遮断します。

注: このメソッドは、ユーザではなく、ピア実装から呼び出されます。

定義:
インタフェース DragSourceListener 内の dropActionChanged
パラメータ:
dsde - 遮断された DragSourceDragEvent

dragDropEnd

public void dragDropEnd(DragSourceDropEvent dsde)
このメソッドは、dragDropEnd() に関連した DragSourceDropEvent をピアから遮断します。

注: このメソッドは、ユーザではなく、ピア実装から呼び出されます。このメソッドには、null の値はパラメータとして許可されていません。

定義:
インタフェース DragSourceListener 内の dragDropEnd
パラメータ:
dsde - 遮断された DragSourceDropEvent

getTransferable

public Transferable getTransferable()
このメソッドは、この DragSourceContext に関連した Transferable を返します。

戻り値:
Transferable

updateCurrentCursor

protected void updateCurrentCursor(int dropOp,
                                   int targetAct,
                                   int status)
更新のためにカーソルを調べ、デフォルトを実装します。

パラメータ:
dropOp - ユーザが現在選択した操作
targetAct - 現在のターゲットのサポート済みアクション
status - 定数

JavaTM 2 Platform
Std. Ed. v1.3

バグや機能要求の報告
さらに詳しい API リファレンスおよび開発者ドキュメントについては、 Java 2 SDK SE Developer Documentation を参照してください。このドキュメントには、概念、用語の定義、回避策、 実用的なコード例など、開発者を対象にした詳細な解説が掲載されています。

Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.