|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object java.awt.dnd.DragSource
public class DragSource
DragSource
是負責開始 Drag 和 Drop 操作的實體,可以用在如下場景中:
Component
一個實例,或者每個與 GUI 中 Component
實例相關聯的特定應用程序物件一個實例。[與實作相關]
DragSource
,還應獲得一個 DragGestureRecognizer
,以便將該 DragSource
與特定的 Component
關聯。
通常是由 DragGestureRecognizer
來實作一個 implementing Component
,而這個 implementing component 負責使用者操作的初始解釋和隨後開始的拖動操作。
出現一個拖動操作時,應調用 DragSource
的 startDrag() 方法,以處理使用者的瀏覽操作並傳遞 Drag 和 Drop 協議通知。DragSource
只允許在任一時刻執行一個 Drag 和 Drop 操作,並且在現存的操作完成前,通過拋出 IllegalDnDOperationException
來拒絕所有其他的 startDrag() 請求。
startDrag() 方法調用 createDragSourceContext() 方法來實例化合適的 DragSourceContext
,並將 DragSourceContextPeer
與其關聯。
如果 Drag 和 Drop 系統由於某些原因而無法開始拖動操作,則 startDrag() 方法拋出 java.awt.dnd.InvalidDnDOperationException
來通知該狀況。通常在基礎平臺系統未處於可初始拖動的狀態或者指定的參數無效時拋出此異常。
注意,在拖動期間,操作完成前不能改變拖動源在拖動操作開始時所公開的操作集合。操作持續期間該操作對於 DragSource
而言是持續的。
欄位摘要 | |
---|---|
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)
創建一個新的 DragGestureRecognizer ,為此 DragSource 實作 DragGestureRecognizer 的預設抽象子類別並在新創建的物件上設置指定的 Component 和 DragGestureListener 。 |
|
|
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()
此方法返回此 DragSource 的 FlavorMap 。 |
|
|
getListeners(Class<T> listenerType)
獲得目前已在此 DragSource 上註冊為 FooListener 的所有物件。 |
|
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 、Image 原點距離觸發時 Cursor 熱點的偏移量、拖動的目標資料和 DragSourceListener 的情況下開始拖動。 |
|
void |
startDrag(DragGestureEvent trigger,
Cursor dragCursor,
Image dragImage,
Point imageOffset,
Transferable transferable,
DragSourceListener dsl,
FlavorMap flavorMap)
在給定發起拖動的 DragGestureEvent 、使用的初始 Cursor 、要拖動的 Image 、Image 原點距離觸發時 Cursor 熱點的偏移量、拖動的 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 |
欄位詳細資訊 |
---|
public static final Cursor DefaultCopyDrop
Cursor
,指示當前允許放置。如果 GraphicsEnvironment.isHeadless()
返回 true
,則為 null
。
GraphicsEnvironment.isHeadless()
public static final Cursor DefaultMoveDrop
Cursor
,指示當前允許放置。如果 GraphicsEnvironment.isHeadless()
返回 true
,則為 null
。
GraphicsEnvironment.isHeadless()
public static final Cursor DefaultLinkDrop
Cursor
,指示當前允許放置。如果 GraphicsEnvironment.isHeadless()
返回 true
,則為 null
。
GraphicsEnvironment.isHeadless()
public static final Cursor DefaultCopyNoDrop
Cursor
,指示當前不允許放置。如果 GraphicsEnvironment.isHeadless()
返回 true
,則為 null
。
GraphicsEnvironment.isHeadless()
public static final Cursor DefaultMoveNoDrop
Cursor
,指示當前不允許放置。如果 GraphicsEnvironment.isHeadless()
返回 true
,則為 null
。
GraphicsEnvironment.isHeadless()
public static final Cursor DefaultLinkNoDrop
Cursor
,指示當前不允許放置。如果 GraphicsEnvironment.isHeadless()
返回 true
,則為 null
。
GraphicsEnvironment.isHeadless()
建構子詳細資訊 |
---|
public DragSource() throws HeadlessException
DragSource
。
HeadlessException
- 如果 GraphicsEnvironment.isHeadless() 返回 trueGraphicsEnvironment.isHeadless()
方法詳細資訊 |
---|
public static DragSource getDefaultDragSource()
DragSource
物件。
HeadlessException
- 如果 GraphicsEnvironment.isHeadless() 返回 trueGraphicsEnvironment.isHeadless()
public static boolean isDragImageSupported()
Image
的支持。
public void startDrag(DragGestureEvent trigger, Cursor dragCursor, Image dragImage, Point imageOffset, Transferable transferable, DragSourceListener dsl, FlavorMap flavorMap) throws InvalidDnDOperationException
DragGestureEvent
、使用的初始 Cursor
、要拖動的 Image
、Image
原點距離觸發時 Cursor
熱點的偏移量、拖動的 Transferable
目標資料、DragSourceListener
和 FlavorMap
的情況下開始拖動。
trigger
- 發起拖動的 DragGestureEvent
dragCursor
- 初始 Cursor
,預設為 null
dragImage
- 要拖動的圖像,或者為 null。imageOffset
- Image
原點距離觸發時 Cursor
熱點的偏移量transferable
- 該拖動的目標資料dsl
- DragSourceListener
flavorMap
- 使用的 FlavorMap
,或者為 null
java.awt.dnd.InvalidDnDOperationException
- 如果 Drag 和 Drop 系統不能發起拖動操作,或者使用者試圖在現有拖動操作仍在進行時開始拖動。
InvalidDnDOperationException
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
- 如果 Drag 和 Drop 系統不能發起拖動操作,或者使用者試圖在現有拖動操作仍在進行時開始拖動。
InvalidDnDOperationException
public void startDrag(DragGestureEvent trigger, Cursor dragCursor, Image dragImage, Point dragOffset, Transferable transferable, DragSourceListener dsl) throws InvalidDnDOperationException
DragGestureEvent
、使用的初始 Cursor
、要拖動的 Image
、Image
原點距離觸發時 Cursor
熱點的偏移量、拖動的目標資料和 DragSourceListener
的情況下開始拖動。
trigger
- 發起拖動的 DragGestureEvent
dragCursor
- 初始 Cursor
,或預設為 null
dragImage
- 要拖動的 Image
,或者為 null
dragOffset
- Image
原點距離觸發開始時 Cursor
熱點的偏移量transferable
- 拖動的目標資料dsl
- DragSourceListener
java.awt.dnd.InvalidDnDOperationException
- 如果 Drag 和 Drop 系統不能發起拖動操作,或者使用者試圖在現有拖動操作仍在進行時開始拖動。
InvalidDnDOperationException
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
- 如果 Drag 和 Drop 系統不能發起拖動操作,或者使用者試圖在現有拖動操作仍在進行時開始拖動。
InvalidDnDOperationException
protected DragSourceContext createDragSourceContext(java.awt.dnd.peer.DragSourceContextPeer dscp, DragGestureEvent dgl, Cursor dragCursor, Image dragImage, Point imageOffset, Transferable t, DragSourceListener dsl)
DragSourceContext
。
要合併一個新的 DragSourceContext
子類別,可子類別化 DragSource
並覆寫此方法。
如果 dragImage
為 null
,則沒有用於表示此拖動操作拖動完成的反饋圖像,但不拋出 NullPointerException
。
如果 dsl
為 null
,則沒有向已創建的 DragSourceContext
註冊的拖動源偵聽器,但不拋出 NullPointerException
。
如果 dragCursor
為 null
,則此拖動操作使用預設的拖動鼠標。不拋出 NullPointerException
。
dscp
- 此拖動的 DragSourceContextPeer
dgl
- 觸發拖動的 DragGestureEvent
dragCursor
- 要顯示的初始 Cursor
dragImage
- 要拖動的 Image
,或者為 null
imageOffset
- Image
原點距離觸發開始時 cursor 熱點的偏移量t
- 拖動的目標資料dsl
- DragSourceListener
DragSourceContext
NullPointerException
- 如果 dscp
為 null
NullPointerException
- 如果 dgl
為 null
NullPointerException
- 如果 dragImage
不為 null
,並且 imageOffset
為 null
NullPointerException
- 如果 t
為 null
IllegalArgumentException
- 如果與觸發事件關聯的 Component
為 null
。
IllegalArgumentException
- 如果觸發事件的 DragSource
為 null
。
IllegalArgumentException
- 如果觸發事件的拖動操作是 DnDConstants.ACTION_NONE
。
IllegalArgumentException
- 如果與觸發事件關聯的 DragGestureRecognizer
的拖動源操作是 DnDConstants.ACTION_NONE
。public FlavorMap getFlavorMap()
DragSource
的 FlavorMap
。
DragSource
的 FlavorMap
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
DragGestureRecognizer
,如果 Toolkit.createDragGestureRecognizer
沒有為所請求的 DragGestureRecognizer
子類別提供實作並返回 null
,則此方法返回 null
public DragGestureRecognizer createDefaultDragGestureRecognizer(Component c, int actions, DragGestureListener dgl)
DragGestureRecognizer
,為此 DragSource
實作 DragGestureRecognizer
的預設抽象子類別並在新創建的物件上設置指定的 Component
和 DragGestureListener
。
對於此 DragSource
,預設值是 MouseDragGestureRecognizer
。
c
- 該識別器的 Component
目標actions
- 允許的源操作dgl
- 要通知的 DragGestureListener
DragGestureRecognizer
,如果 Toolkit.createDragGestureRecognizer
沒有為所請求的 DragGestureRecognizer
子類別提供實作並返回 null
,則此方法返回 null
public void addDragSourceListener(DragSourceListener dsl)
DragSourceListener
添加到此 DragSource
,以接收在使用此 DragSource
所發起的拖動操作期間出現的拖動源事件。如果指定的偵聽器為 null
,則不採取任何操作並且不拋出任何異常。
dsl
- 要添加的 DragSourceListener
removeDragSourceListener(java.awt.dnd.DragSourceListener)
,
getDragSourceListeners()
public void removeDragSourceListener(DragSourceListener dsl)
DragSource
移除指定的 DragSourceListener
。如果指定的偵聽器為 null
,則不採取操作並且不拋出異常。如果該參數所指定的偵聽器不是以前添加到此 DragSource
的偵聽器,則不採取任何操作並且不拋出任何異常。
dsl
- 要移除的 DragSourceListener
addDragSourceListener(java.awt.dnd.DragSourceListener)
,
getDragSourceListeners()
public DragSourceListener[] getDragSourceListeners()
DragSource
註冊的所有 DragSourceListener
。
DragSource
的所有 DragSourceListener
,如果當前沒有註冊這樣的偵聽器,則返回一個空陣列addDragSourceListener(java.awt.dnd.DragSourceListener)
,
removeDragSourceListener(java.awt.dnd.DragSourceListener)
public void addDragSourceMotionListener(DragSourceMotionListener dsml)
DragSourceMotionListener
添加到此 DragSource
,以接收在使用此 DragSource
所發起的拖動操作期間出現的拖動移動事件。如果指定的偵聽器為 null
,則不採取任何操作並且不拋出任何異常。
dsml
- 要添加的 DragSourceMotionListener
removeDragSourceMotionListener(java.awt.dnd.DragSourceMotionListener)
,
getDragSourceMotionListeners()
public void removeDragSourceMotionListener(DragSourceMotionListener dsml)
DragSource
移除指定的 DragSourceMotionListener
。如果指定的偵聽器為 null
,則不採取任何操作並且不拋出任何異常。如果該參數所指定的偵聽器不是以前添加到此 DragSource
的偵聽器,則不採取任何操作並且不拋出任何異常。
dsml
- 要移除的 DragSourceMotionListener
addDragSourceMotionListener(java.awt.dnd.DragSourceMotionListener)
,
getDragSourceMotionListeners()
public DragSourceMotionListener[] getDragSourceMotionListeners()
DragSource
註冊的所有 DragSourceMotionListener
。
DragSource
的所有 DragSourceMotionListener
,如果當前沒有註冊這樣的偵聽器,則返回一個空陣列addDragSourceMotionListener(java.awt.dnd.DragSourceMotionListener)
,
removeDragSourceMotionListener(java.awt.dnd.DragSourceMotionListener)
public <T extends EventListener> T[] getListeners(Class<T> listenerType)
DragSource
上註冊為 FooListener
的所有物件。FooListener
是用 addFooListener
方法註冊的。
listenerType
- 所請求偵聽器的型別;此參數應該指定一個從 java.util.EventListener
遺傳下來的介面
DragSource
上註冊為 FooListener
的所有物件的陣列,如果沒有添加這樣的偵聽器,則返回一個空陣列
ClassCastException
- 如果 listenerType
沒有指定實作 java.util.EventListener
的類別或介面getDragSourceListeners()
,
getDragSourceMotionListeners()
public static int getDragThreshold()
MouseDragGestureRecognizer
的推薦行為。
如果將系統屬性 awt.dnd.drag.threshold
設置為正整數,則此方法返回該系統屬性值;否則如果有關的桌面屬性可用並且 Java 平臺實作支持該屬性,則此方法返回該屬性值;否則此方法返回某些預設值。可使用 java.awt.Toolkit.getDesktopProperty("DnD.gestureMotionThreshold")
查詢有關的桌面屬性。
MouseDragGestureRecognizer
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。