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, 2013, Oracle and/or its affiliates. All rights reserved.