JavaTM Platform
Standard Ed. 6

java.awt.dnd
クラス DragSource

java.lang.Object
  上位を拡張 java.awt.dnd.DragSource
すべての実装されたインタフェース:
Serializable

public class DragSource
extends Object
implements Serializable

DragSource は、ドラッグ&ドロップ操作の開始を担当するエンティティーで、次のようないくつかのシナリオで使用できます。

DragSource を取得した場合は、DragGestureRecognizer も取得して、DragSource を特定の Component と関連付けます。  

ユーザーのジェスチャーの最初の実装、およびその後のドラッグ操作の開始は、通常 DragGestureRecognizer が実装する実装 Component が担当します。

ドラッグジェスチャーが発生すると、ユーザーのナビゲーションジェスチャーの処理およびドラッグ&ドロッププロトコル通知の送達のため、DragSource の startDrag() メソッドが呼び出されます。DragSource は、どの時点でも現在のドラッグ&ドロップ操作として操作を 1 つだけ許可し、その操作が完了する時点まで、IllegalDnDOperationException をスローすることによってほかの startDrag() 要求を拒否します。  

startDrag() メソッドは、createDragSourceContext() メソッドを呼び出して適切な DragSourceContext をインスタンス化し、DragSourceContextPeer をそれに関連付けます。  

ドラッグ&ドロップシステムが何らかの理由でドラッグ操作を開始できない場合、startDrag() メソッドは java.awt.dnd.InvalidDnDOperationException をスローしてその状態を通知します。この例外は通常、基礎になるプラットフォームシステムがドラッグを開始する状態にないか、あるいは指定されたパラメータが無効な場合にスローされます。  

ドラッグ中は、ドラッグ操作の開始時点に転送元によって明らかにされた一連の操作は、その操作が完了するまで変更できません。DragSource に関して、操作中はその操作は一定しています。

導入されたバージョン:
1.2
関連項目:
直列化された形式

フィールドの概要
static Cursor DefaultCopyDrop
          コピー操作とともに使用して、ドロップが現在許可されていることを示すデフォルトの Cursor です。
static Cursor DefaultCopyNoDrop
          コピー操作とともに使用して、ドロップが現在許可されていないことを示すデフォルトの Cursor です。
static Cursor DefaultLinkDrop
          リンク操作とともに使用して、ドロップが現在許可されていることを示すデフォルトの Cursor です。
static Cursor DefaultLinkNoDrop
          リンク操作とともに使用して、ドロップが現在許可されていないことを示すデフォルトの Cursor です。
static Cursor DefaultMoveDrop
          移動操作とともに使用して、ドロップが現在許可されていることを示すデフォルトの Cursor です。
static Cursor DefaultMoveNoDrop
          移動操作とともに使用して、ドロップが現在許可されていないことを示すデフォルトの Cursor です。
 
コンストラクタの概要
DragSource()
          新しい DragSource を生成します。
 
メソッドの概要
 void addDragSourceListener(DragSourceListener dsl)
          指定された DragSourceListener をこの DragSource に追加し、この DragSource で開始されたドラッグ操作中のドラッグソースイベントを受信します。
 void addDragSourceMotionListener(DragSourceMotionListener dsml)
          指定された DragSourceMotionListener をこの DragSource に追加し、この DragSource で開始されたドラッグ操作中のドラッグモーションイベントを受信します。
 DragGestureRecognizer createDefaultDragGestureRecognizer(Component c, int actions, DragGestureListener dgl)
          この DragSourceDragGestureRecognizer のデフォルト抽象サブクラスを実装する新しい DragSourceRecognizer を作成し、新しく作成されたオブジェクトに、指定された Component および DragGestureListener を設定します。
<T extends DragGestureRecognizer>
T
createDragGestureRecognizer(Class<T> recognizerAbstractClass, Component c, int actions, DragGestureListener dgl)
          DragGestureRecognizer の指定された抽象サブクラスを実装する新しい DragGestureRecognizer を作成し、新しく作成されたオブジェクトに、指定された Component および DragGestureListener を設定します。
protected  DragSourceContext createDragSourceContext(java.awt.dnd.peer.DragSourceContextPeer dscp, DragGestureEvent dgl, Cursor dragCursor, Image dragImage, Point imageOffset, Transferable t, DragSourceListener dsl)
          このドラッグを処理する DragSourceContext を作成します。
static DragSource getDefaultDragSource()
          基本となるプラットフォームに関連した DragSource オブジェクトを取得します。
 DragSourceListener[] getDragSourceListeners()
          この DragSource に登録されたすべての DragSourceListener を取得します。
 DragSourceMotionListener[] getDragSourceMotionListeners()
          この DragSource に登録されたすべての DragSourceMotionListener を取得します。
static int getDragThreshold()
          ドラッグジェスチャーモーションのしきい値を返します。
 FlavorMap getFlavorMap()
          このメソッドは、この DragSourceFlavorMap を返します。
<T extends EventListener>
T[]
getListeners(Class<T> listenerType)
          この DragSourceFooListener として現在登録されているすべてのオブジェクトを取得します。
static boolean isDragImageSupported()
          基本となるプラットフォームでドラッグ Image のサポートが可能かどうかを報告します。
 void removeDragSourceListener(DragSourceListener dsl)
          この DragSource から指定された DragSourceListener を削除します。
 void removeDragSourceMotionListener(DragSourceMotionListener dsml)
          この DragSource から指定された DragSourceMotionListener を削除します。
 void startDrag(DragGestureEvent trigger, Cursor dragCursor, Image dragImage, Point dragOffset, Transferable transferable, DragSourceListener dsl)
          ドラッグを開始した DragGestureEvent、使用する初期 Cursor、ドラッグする Image、トリガーの瞬間における Cursor のホットスポットからの Image 原点のオフセット、ドラッグの対象データ、および DragSourceListener を受けて、ドラッグを開始します。
 void startDrag(DragGestureEvent trigger, Cursor dragCursor, Image dragImage, Point imageOffset, Transferable transferable, DragSourceListener dsl, FlavorMap flavorMap)
          ドラッグを開始した DragGestureEvent、使用する初期 Cursor、ドラッグする Image、トリガーの瞬間における Cursor のホットスポットからの Image 原点のオフセット、ドラッグの Transferable 対象データ、DragSourceListener、および FlavorMap を受けて、ドラッグを開始します。
 void startDrag(DragGestureEvent trigger, Cursor dragCursor, Transferable transferable, DragSourceListener dsl)
          ドラッグを開始した DragGestureEvent、使用する初期 Cursor ドラッグの Transferable 対象データ、および DragSourceListener を受けて、ドラッグを開始します。
 void startDrag(DragGestureEvent trigger, Cursor dragCursor, Transferable transferable, DragSourceListener dsl, FlavorMap flavorMap)
          ドラッグを開始した DragGestureEvent、使用する初期 Cursor、ドラッグの Transferable 対象データ、DragSourceListener、および FlavorMap を受けて、ドラッグを開始します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

DefaultCopyDrop

public static final Cursor DefaultCopyDrop
コピー操作とともに使用して、ドロップが現在許可されていることを示すデフォルトの Cursor です。GraphicsEnvironment.isHeadless()true を返す場合は、null です。

関連項目:
GraphicsEnvironment.isHeadless()

DefaultMoveDrop

public static final Cursor DefaultMoveDrop
移動操作とともに使用して、ドロップが現在許可されていることを示すデフォルトの Cursor です。GraphicsEnvironment.isHeadless()true を返す場合は、null です。

関連項目:
GraphicsEnvironment.isHeadless()

DefaultLinkDrop

public static final Cursor DefaultLinkDrop
リンク操作とともに使用して、ドロップが現在許可されていることを示すデフォルトの Cursor です。GraphicsEnvironment.isHeadless()true を返す場合は、null です。

関連項目:
GraphicsEnvironment.isHeadless()

DefaultCopyNoDrop

public static final Cursor DefaultCopyNoDrop
コピー操作とともに使用して、ドロップが現在許可されていないことを示すデフォルトの Cursor です。GraphicsEnvironment.isHeadless()true を返す場合は、null です。

関連項目:
GraphicsEnvironment.isHeadless()

DefaultMoveNoDrop

public static final Cursor DefaultMoveNoDrop
移動操作とともに使用して、ドロップが現在許可されていないことを示すデフォルトの Cursor です。GraphicsEnvironment.isHeadless()true を返す場合は、null です。

関連項目:
GraphicsEnvironment.isHeadless()

DefaultLinkNoDrop

public static final Cursor DefaultLinkNoDrop
リンク操作とともに使用して、ドロップが現在許可されていないことを示すデフォルトの Cursor です。GraphicsEnvironment.isHeadless()true を返す場合は、null です。

関連項目:
GraphicsEnvironment.isHeadless()
コンストラクタの詳細

DragSource

public DragSource()
           throws HeadlessException
新しい DragSource を生成します。

例外:
HeadlessException - GraphicsEnvironment.isHeadless() が true を返す場合
関連項目:
GraphicsEnvironment.isHeadless()
メソッドの詳細

getDefaultDragSource

public static DragSource getDefaultDragSource()
基本となるプラットフォームに関連した DragSource オブジェクトを取得します。

戻り値:
プラットフォーム DragSource
例外:
HeadlessException - GraphicsEnvironment.isHeadless() が true を返す場合
関連項目:
GraphicsEnvironment.isHeadless()

isDragImageSupported

public static boolean isDragImageSupported()
基本となるプラットフォームでドラッグ Image のサポートが可能かどうかを報告します。  

戻り値:
このプラットフォームでドラッグイメージサポートが可能な場合

startDrag

public void startDrag(DragGestureEvent trigger,
                      Cursor dragCursor,
                      Image dragImage,
                      Point imageOffset,
                      Transferable transferable,
                      DragSourceListener dsl,
                      FlavorMap flavorMap)
               throws InvalidDnDOperationException
ドラッグを開始した DragGestureEvent、使用する初期 Cursor、ドラッグする Image、トリガーの瞬間における Cursor のホットスポットからの Image 原点のオフセット、ドラッグの Transferable 対象データ、DragSourceListener、および FlavorMap を受けて、ドラッグを開始します。  

パラメータ:
trigger - ドラッグを開始させた DragGestureEvent
dragCursor - 初期 Cursor、またはデフォルトの場合 null
dragImage - ドラッグするイメージ、または null
imageOffset - トリガーの瞬間における、Cursor のホットスポットからの Image 原点のオフセット
transferable - ドラッグの対象データ
dsl - DragSourceListener
flavorMap - 使用する FlavorMap、または null

例外:
java.awt.dnd.InvalidDnDOperationException - ドラッグ&ドロップシステムが ドラッグ操作を開始できない場合、 または既存のドラッグ操作を実行中に ユーザーがドラッグを開始しようとした場合
InvalidDnDOperationException

startDrag

public void startDrag(DragGestureEvent trigger,
                      Cursor dragCursor,
                      Transferable transferable,
                      DragSourceListener dsl,
                      FlavorMap flavorMap)
               throws InvalidDnDOperationException
ドラッグを開始した DragGestureEvent、使用する初期 Cursor、ドラッグの Transferable 対象データ、DragSourceListener、および FlavorMap を受けて、ドラッグを開始します。  

パラメータ:
trigger - ドラッグを開始させた DragGestureEvent
dragCursor - 初期の Cursor、 またはデフォルトの場合 null
transferable - ドラッグの対象データ
dsl - DragSourceListener
flavorMap - 使用する FlavorMap、または null

例外:
java.awt.dnd.InvalidDnDOperationException - ドラッグ&ドロップシステムが ドラッグ操作を開始できない場合、 または既存のドラッグ操作を実行中に ユーザーがドラッグを開始しようとした場合
InvalidDnDOperationException

startDrag

public void startDrag(DragGestureEvent trigger,
                      Cursor dragCursor,
                      Image dragImage,
                      Point dragOffset,
                      Transferable transferable,
                      DragSourceListener dsl)
               throws InvalidDnDOperationException
ドラッグを開始した DragGestureEvent、使用する初期 Cursor、ドラッグする Image、トリガーの瞬間における Cursor のホットスポットからの Image 原点のオフセット、ドラッグの対象データ、および DragSourceListener を受けて、ドラッグを開始します。  

パラメータ:
trigger - ドラッグを開始させた DragGestureEvent
dragCursor - 初期 Cursor、またはデフォルトの場合 null
dragImage - ドラッグする Image、または null
dragOffset - トリガーの瞬間における、Cursor のホットスポットからの Image 原点のオフセット
transferable - ドラッグの対象データ
dsl - DragSourceListener

例外:
java.awt.dnd.InvalidDnDOperationException - ドラッグ&ドロップシステムが ドラッグ操作を開始できない場合、 または既存のドラッグ操作を実行中に ユーザーがドラッグを開始しようとした場合
InvalidDnDOperationException

startDrag

public void startDrag(DragGestureEvent trigger,
                      Cursor dragCursor,
                      Transferable transferable,
                      DragSourceListener dsl)
               throws InvalidDnDOperationException
ドラッグを開始した DragGestureEvent、使用する初期 Cursor ドラッグの Transferable 対象データ、および DragSourceListener を受けて、ドラッグを開始します。  

パラメータ:
trigger - ドラッグを開始させた DragGestureEvent
dragCursor - 初期 Cursor、またはデフォルトの場合 null
transferable - ドラッグの対象データ
dsl - DragSourceListener

例外:
java.awt.dnd.InvalidDnDOperationException - ドラッグ&ドロップシステムが ドラッグ操作を開始できない場合、 または既存のドラッグ操作を実行中に ユーザーがドラッグを開始しようとした場合
InvalidDnDOperationException

createDragSourceContext

protected DragSourceContext createDragSourceContext(java.awt.dnd.peer.DragSourceContextPeer dscp,
                                                    DragGestureEvent dgl,
                                                    Cursor dragCursor,
                                                    Image dragImage,
                                                    Point imageOffset,
                                                    Transferable t,
                                                    DragSourceListener dsl)
このドラッグを処理する DragSourceContext を作成します。

新しい DragSourceContext サブクラスを組み込むには、DragSource をサブクラス化し、このメソッドをオーバーライドします。  

dragImagenull の場合は、このドラッグ操作のドラッグオーバーフィードバックを表すためにイメージが使用されませんが、NullPointerException はスローされません。  

dslnull の場合は、作成された DragSourceContext にドラッグソースリスナが登録されませんが、NullPointerException はスローされません。  

dragCursornull の場合は、デフォルトのドラッグカーソルがこのドラッグ操作に使われます。NullPointerException はスローされません。

パラメータ:
dscp - このドラッグの DragSourceContextPeer
dgl - ドラッグをトリガーした DragGestureEvent
dragCursor - 表示する初期 Cursor
dragImage - ドラッグする Image または null
imageOffset - トリガーの瞬間における、 カーソルのホットスポットからの Image 原点のオフセット
t - ドラッグの対象データ
dsl - DragSourceListener
戻り値:
DragSourceContext
例外:
NullPointerException - dscpnull の場合
NullPointerException - dglnull の場合
NullPointerException - dragImagenull でなく、imageOffsetnull の場合
NullPointerException - tnull の場合
IllegalArgumentException - トリガーイベントに関連付けられた Componentnull の場合
IllegalArgumentException - トリガーイベントの DragSourcenull の場合
IllegalArgumentException - トリガーイベントのドラッグアクションが DnDConstants.ACTION_NONE の場合
IllegalArgumentException - トリガーイベントに関連付けられた DragGestureRecognizer のソースアクションが DnDConstants.ACTION_NONE と等しい場合

getFlavorMap

public FlavorMap getFlavorMap()
このメソッドは、この DragSourceFlavorMap を返します。  

戻り値:
この DragSourceFlavorMap

createDragGestureRecognizer

public <T extends DragGestureRecognizer> T createDragGestureRecognizer(Class<T> recognizerAbstractClass,
                                                                       Component c,
                                                                       int actions,
                                                                       DragGestureListener dgl)
DragGestureRecognizer の指定された抽象サブクラスを実装する新しい DragGestureRecognizer を作成し、新しく作成されたオブジェクトに、指定された Component および DragGestureListener を設定します。  

パラメータ:
recognizerAbstractClass - 要求された抽象型
actions - 許可されたソースドラッグアクション
c - Component ターゲット
dgl - 通知する DragGestureListener

戻り値:
新しい DragGestureRecognizerToolkit.createDragGestureRecognizer メソッドが 要求された DragGestureRecognizer サブクラスに 使用可能な実装を持たず null を返した場合は、 null

createDefaultDragGestureRecognizer

public DragGestureRecognizer createDefaultDragGestureRecognizer(Component c,
                                                                int actions,
                                                                DragGestureListener dgl)
この DragSourceDragGestureRecognizer のデフォルト抽象サブクラスを実装する新しい DragSourceRecognizer を作成し、新しく作成されたオブジェクトに、指定された Component および DragGestureListener を設定します。 この DragSource の場合、デフォルトは MouseDragGestureRecognizer です。  

パラメータ:
c - レコグナイザの Component ターゲット
actions - 許可されたソースアクション
dgl - 通知する DragGestureListener

戻り値:
新しい DragGestureRecognizerToolkit.createDragGestureRecognizer メソッドが 要求された DragGestureRecognizer サブクラスに 使用可能な実装を持たず null を返した場合は、 null

addDragSourceListener

public void addDragSourceListener(DragSourceListener dsl)
指定された DragSourceListener をこの DragSource に追加し、この DragSource で開始されたドラッグ操作中のドラッグソースイベントを受信します。null のリスナーが指定された場合は、何も処理は行われず、例外はスローされません。

パラメータ:
dsl - 追加する DragSourceListener
導入されたバージョン:
1.4
関連項目:
removeDragSourceListener(java.awt.dnd.DragSourceListener), getDragSourceListeners()

removeDragSourceListener

public void removeDragSourceListener(DragSourceListener dsl)
この DragSource から指定された DragSourceListener を削除します。null のリスナーが指定された場合は、何も処理は行われず、例外はスローされません。引数で指定されたリスナーが前にこの DragSource に追加されていない場合は、何も処理は行われず、例外はスローされません。

パラメータ:
dsl - 削除する DragSourceListener
導入されたバージョン:
1.4
関連項目:
addDragSourceListener(java.awt.dnd.DragSourceListener), getDragSourceListeners()

getDragSourceListeners

public DragSourceListener[] getDragSourceListeners()
この DragSource に登録されたすべての DragSourceListener を取得します。

戻り値:
この DragSource の すべての DragSourceListener。 該当するリスナーが現在登録されていない場合は、空の配列
導入されたバージョン:
1.4
関連項目:
addDragSourceListener(java.awt.dnd.DragSourceListener), removeDragSourceListener(java.awt.dnd.DragSourceListener)

addDragSourceMotionListener

public void addDragSourceMotionListener(DragSourceMotionListener dsml)
指定された DragSourceMotionListener をこの DragSource に追加し、この DragSource で開始されたドラッグ操作中のドラッグモーションイベントを受信します。null のリスナーが指定された場合は、何も処理は行われず、例外はスローされません。

パラメータ:
dsml - 追加する DragSourceMotionListener
導入されたバージョン:
1.4
関連項目:
removeDragSourceMotionListener(java.awt.dnd.DragSourceMotionListener), getDragSourceMotionListeners()

removeDragSourceMotionListener

public void removeDragSourceMotionListener(DragSourceMotionListener dsml)
この DragSource から指定された DragSourceMotionListener を削除します。null のリスナーが指定された場合は、何も処理は行われず、例外はスローされません。引数で指定されたリスナーが前にこの DragSource に追加されていない場合は、何も処理は行われず、例外はスローされません。

パラメータ:
dsml - 削除する DragSourceMotionListener
導入されたバージョン:
1.4
関連項目:
addDragSourceMotionListener(java.awt.dnd.DragSourceMotionListener), getDragSourceMotionListeners()

getDragSourceMotionListeners

public DragSourceMotionListener[] getDragSourceMotionListeners()
この DragSource に登録されたすべての DragSourceMotionListener を取得します。

戻り値:
この DragSource の すべての DragSourceMotionListener。 該当するリスナーが現在登録されていない場合は、空の配列
導入されたバージョン:
1.4
関連項目:
addDragSourceMotionListener(java.awt.dnd.DragSourceMotionListener), removeDragSourceMotionListener(java.awt.dnd.DragSourceMotionListener)

getListeners

public <T extends EventListener> T[] getListeners(Class<T> listenerType)
この DragSourceFooListener として現在登録されているすべてのオブジェクトを取得します。FooListener は、addFooListener メソッドを使用して登録します。

パラメータ:
listenerType - 要求されるリスナーの型。 java.util.EventListener の下位インタフェースを指定
戻り値:
このコンポーネントに FooListener として登録されているすべてのオブジェクトの配列。 この DragSourceFooListener として登録されているすべてのオブジェクトの配列。 該当するリスナーが追加されていない場合は、 空の配列
例外:
ClassCastException - listenerTypejava.util.EventListener を実装するクラスまたはインタフェースを指定しない場合
導入されたバージョン:
1.4
関連項目:
getDragSourceListeners(), getDragSourceMotionListeners()

getDragThreshold

public static int getDragThreshold()
ドラッグジェスチャーモーションのしきい値を返します。ドラッグジェスチャーモーションのしきい値は、MouseDragGestureRecognizer の推奨される動作を定義します。 

システムプロパティー awt.dnd.drag.threshold が正の整数に設定されている場合、このメソッドはシステムプロパティーの値を返します。 正の整数以外の場合は、関連するデスクトッププロパティーが使用でき、Java プラットフォームの実装でサポートされていれば、そのプロパティー値を返します。関連するデスクトッププロパティーが使用できない場合は、デフォルト値を返します。 関連するデスクトッププロパティーは java.awt.Toolkit.getDesktopProperty("DnD.gestureMotionThreshold") を使用して照会できます。

戻り値:
ドラッグジェスチャーモーションのしきい値
導入されたバージョン:
1.5
関連項目:
MouseDragGestureRecognizer

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。