JavaTM 2 Platform
Standard Ed. 6

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 類別負責管理 Drag 和 Drop 協議的起始端。特別是負責管理對 DragSourceListenerDragSourceMotionListener 的拖動事件通知,並提供表示拖動操作源資料的 Transferable

注意,DragSourceContext 自行實作 DragSourceListenerDragSourceMotionListener 介面。這就允許 DragSource 創建的平臺同位體(DragSourceContextPeer 實例)能夠在正在進行的操作中通知 DragSourceContext 狀態改變。從而允許 DragSourceContext 介入平臺和拖動操作起始端所提供的偵聽器之間。

從以下版本開始:
1.2
另請參見:
DragSourceListener, DragSourceMotionListener, 序列化表格

欄位摘要
protected static int CHANGED
          updateCurrentCursor() 使用的 int 值,指示使用者操作已改變。
protected static int DEFAULT
          updateCurrentCursor() 使用的 int 值,指示應該將 Cursor 改為預設(未放置)的 Cursor
protected static int ENTER
          updateCurrentCursor() 使用的 int 值,指示 Cursor 已進入 DropTarget
protected static int OVER
          updateCurrentCursor() 使用的 int 值,指示 Cursor 處於 DropTarget 上。
 
建構子摘要
DragSourceContext(java.awt.dnd.peer.DragSourceContextPeer dscp, DragGestureEvent trigger, Cursor dragCursor, Image dragImage, Point offset, Transferable t, DragSourceListener dsl)
          從 DragSource 調用,此建構子創建一個新 DragSourceContext,使其具有為此 Drag 指定的 DragSourceContextPeer、觸發該 Drag 的 DragGestureEvent、用於該 Drag 的初始 Cursor、進行 Drag 時顯示的 Image(可選)、Image 原點與觸發事件時距離熱點的偏移量、Transferable 目標資料、Drag 和 Drop 操作期間使用的 DragSourceListener
 
方法摘要
 void addDragSourceListener(DragSourceListener dsl)
          如果尚未將 DragSourceListener 添加到此 DragSourceContext,則添加一個。
 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 註冊的 DragSourceContext 調用 dragOver,並將指定的 DragSourceDragEvent 傳遞給它們。
 void dropActionChanged(DragSourceDragEvent dsde)
          對向此 DragSourceContext 及其關聯 DragSource 註冊的 DragSourceListener 調用 dropActionChanged,並將指定的 DragSourceDragEvent 傳遞給它們。
 Component getComponent()
          返回與此 DragSourceContext 關聯的 Component
 Cursor getCursor()
          返回當前的拖動 Cursor
 DragSource getDragSource()
          返回實例化此 DragSourceContextDragSource
 int getSourceActions()
          返回 DnDConstants 的位遮罩碼,表示拖動源針對與此 DragSourceContext 關聯的拖動操作所支持的放置動作集合。
 Transferable getTransferable()
          返回與此 DragSourceContext 關聯的 Transferable
 DragGestureEvent getTrigger()
          返回最初觸發該拖動的 DragGestureEvent
 void removeDragSourceListener(DragSourceListener dsl)
          從此 DragSourceContext 移除指定的 DragSourceListener
 void setCursor(Cursor c)
          將此拖動操作的鼠標設置為指定的 Cursor
 void transferablesFlavorsChanged()
          通知同位體該 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
updateCurrentCursor() 使用的 int 值,指示應該將 Cursor 改為預設(未放置)的 Cursor

另請參見:
常數欄位值

ENTER

protected static final int ENTER
updateCurrentCursor() 使用的 int 值,指示 Cursor 已進入 DropTarget

另請參見:
常數欄位值

OVER

protected static final int OVER
updateCurrentCursor() 使用的 int 值,指示 Cursor 處於 DropTarget 上。

另請參見:
常數欄位值

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 調用,此建構子創建一個新 DragSourceContext,使其具有為此 Drag 指定的 DragSourceContextPeer、觸發該 Drag 的 DragGestureEvent、用於該 Drag 的初始 Cursor、進行 Drag 時顯示的 Image(可選)、Image 原點與觸發事件時距離熱點的偏移量、Transferable 目標資料、Drag 和 Drop 操作期間使用的 DragSourceListener
如果 DragSourceContextPeernull,則拋出 NullPointerException
如果 DragGestureEventnull,則拋出 NullPointerException
如果 Cursornull,不拋出任何異常,並為此次拖動操作啟動預設的拖動鼠標行為。
如果 Imagenull,不拋出任何異常。
如果 Image 不為 null 且 offset 為 null,則拋出 NullPointerException
如果 Transferablenull,則拋出 NullPointerException
如果 DragSourceListenernull,不拋出任何異常。

參數:
dscp - 此 Drag 的 DragSourceContextPeer
trigger - 觸發事件
dragCursor - 初始的 Cursor
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 且 offset 為 null
方法詳細資訊

getDragSource

public DragSource getDragSource()
返回實例化此 DragSourceContextDragSource

返回:
實例化此 DragSourceContextDragSource

getComponent

public Component getComponent()
返回與此 DragSourceContext 關聯的 Component

返回:
啟動拖動的 Component

getTrigger

public DragGestureEvent getTrigger()
返回最初觸發該拖動的 DragGestureEvent

返回:
觸發拖動的 Event

getSourceActions

public int getSourceActions()
返回 DnDConstants 的位遮罩碼,表示拖動源針對與此 DragSourceContext 關聯的拖動操作所支持的放置動作集合。

返回:
拖動源支持的放置動作

setCursor

public void setCursor(Cursor c)
將此拖動操作的鼠標設置為指定的 Cursor。 如果指定的 Cursornull,則為此拖動操作啟動預設的拖動鼠標行為,否則停用該預設行為。

參數:
c - 要顯示的 Cursor,或者為 null,表示啟動預設拖動鼠標行為

getCursor

public Cursor getCursor()
返回當前的拖動 Cursor

返回:
當前的拖動 Cursor

addDragSourceListener

public void addDragSourceListener(DragSourceListener dsl)
                           throws TooManyListenersException
如果尚未將 DragSourceListener 添加到此 DragSourceContext,則添加一個。如果 DragSourceListener 已存在,則此方法拋出 TooManyListenersException

參數:
dsl - 要添加的 DragSourceListener。注意,雖然不禁止 null,但它作為參數是不可接受的值。

拋出:
TooManyListenersException - 如果已添加 DragSourceListener
TooManyListenersException

removeDragSourceListener

public void removeDragSourceListener(DragSourceListener dsl)
從此 DragSourceContext 移除指定的 DragSourceListener

參數:
dsl - 要移除的 DragSourceListener;注意,雖然不禁止 null,但它作為參數是不可接受的值。

transferablesFlavorsChanged

public void transferablesFlavorsChanged()
通知同位體該 TransferableDataFlavor 已改變。


dragEnter

public void dragEnter(DragSourceDragEvent dsde)
對向此 DragSourceContext 及其關聯 DragSource 註冊的 DragSourceListener 調用 dragEnter,並將指定的 DragSourceDragEvent 傳遞給它們。

指定者:
介面 DragSourceListener 中的 dragEnter
參數:
dsde - DragSourceDragEvent

dragOver

public void dragOver(DragSourceDragEvent dsde)
對向此 DragSourceContext 及其關聯 DragSource 註冊的 DragSourceContext 調用 dragOver,並將指定的 DragSourceDragEvent 傳遞給它們。

指定者:
介面 DragSourceListener 中的 dragOver
參數:
dsde - DragSourceDragEvent

dragExit

public void dragExit(DragSourceEvent dse)
對向此 DragSourceContext 及其關聯 DragSource 註冊的 DragSourceListener 調用 dragExit,並將指定的 DragSourceEvent 傳遞給它們。

指定者:
介面 DragSourceListener 中的 dragExit
參數:
dse - DragSourceEvent

dropActionChanged

public void dropActionChanged(DragSourceDragEvent dsde)
對向此 DragSourceContext 及其關聯 DragSource 註冊的 DragSourceListener 調用 dropActionChanged,並將指定的 DragSourceDragEvent 傳遞給它們。

指定者:
介面 DragSourceListener 中的 dropActionChanged
參數:
dsde - DragSourceDragEvent

dragDropEnd

public void dragDropEnd(DragSourceDropEvent dsde)
對向此 DragSourceContext 及其關聯 DragSource 註冊的 DragSourceListener 調用 dragDropEnd,並將指定的 DragSourceDropEvent 傳遞給它們。

指定者:
介面 DragSourceListener 中的 dragDropEnd
參數:
dsde - DragSourceDropEvent

dragMouseMoved

public void dragMouseMoved(DragSourceDragEvent dsde)
對向與此 DragSourceContext 關聯的 DragSource 註冊的 DragSourceMotionListener 調用 dragMouseMoved,並將指定的 DragSourceDragEvent 傳遞給它們。

指定者:
介面 DragSourceMotionListener 中的 dragMouseMoved
參數:
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 欄位之一

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only