public class DragSourceContext extends Object implements DragSourceListener, DragSourceMotionListener, Serializable
DragSourceContext类负责管理引发一侧的拖放协议。特别是,它是负责管理的拖动事件通知给
DragSourceListeners和
DragSourceMotionListeners,并提供代表拖动操作的源数据
Transferable。
请注意,DragSourceContext本身实现了DragSourceListener和DragSourceMotionListener接口。这是为了让平台的同行(的DragSourceContextPeer实例)的DragSource创建通知在正在进行的操作状态的变化DragSourceContext。这让DragSourceContext干预对象的拖动操作发起者提供平台与听众之间。
默认情况下,DragSourceContext设置光标为适合当前状态的拖放操作。例如,如果用户选择了the move action,和指针在目标接受移动动作,默认是显示移动光标。当指针位于不接受传输的区域时,默认的“不降”光标显示。
此默认处理机制时禁用自定义光标是由setCursor(java.awt.Cursor)方法。当默认处理是残疾人,成为开发商的责任让光标到目前为止,通过听DragSource事件并调用setCursor()方法。或者,你可以通过提供的DragSource自定义实现,DragSourceContext类提供自定义光标的行为。
DragSourceListener,
DragSourceMotionListener,
DnDConstants,
Serialized Form
| Modifier and Type | Field and Description |
|---|---|
protected static int |
CHANGED
一个由updatecurrentcursor()表明用户的操作改变了用
int。
|
protected static int |
DEFAULT
一个由updatecurrentcursor()表明
Cursor应该更改为默认使用
int(没有下降)
Cursor。
|
protected static int |
ENTER
一个由updatecurrentcursor()表明
Cursor进入
DropTarget用
int。
|
protected static int |
OVER
一个由updatecurrentcursor()表明
Cursor在
DropTarget用
int。
|
| Constructor and Description |
|---|
DragSourceContext(java.awt.dnd.peer.DragSourceContextPeer dscp, DragGestureEvent trigger, Cursor dragCursor, Image dragImage, Point offset, Transferable t, DragSourceListener dsl)
从
DragSource称,该构造函数创建一个新的
DragSourceContext进行拖动
DragSourceContextPeer,触发拖动
DragGestureEvent,初始
Cursor用于拖动,一个(可选)
Image显示而拖发生偏移的
Image起源从热点在触发事件的瞬间,的
Transferable主题数据,和
DragSourceListener中使用拖放操作。
|
| Modifier and Type | Method and Description |
|---|---|
void |
addDragSourceListener(DragSourceListener dsl)
添加一个
DragSourceListener这
DragSourceContext如果尚未添加。
|
void |
dragDropEnd(DragSourceDropEvent dsde)
呼吁
DragSourceListeners注册这个
DragSourceContext和与相关的
DragSource
dragDropEnd,并通过他们指定的
DragSourceDropEvent。
|
void |
dragEnter(DragSourceDragEvent dsde)
呼吁
DragSourceListeners注册这个
DragSourceContext和与相关的
DragSource
dragEnter,并通过他们指定的
DragSourceDragEvent。
|
void |
dragExit(DragSourceEvent dse)
呼吁
DragSourceListeners注册这个
DragSourceContext和与相关的
DragSource
dragExit,并通过他们指定的
DragSourceEvent。
|
void |
dragMouseMoved(DragSourceDragEvent dsde)
呼吁这个
DragSourceContext相关的
DragSource注册
DragSourceMotionListeners
dragMouseMoved,并通过指定的
DragSourceDragEvent。
|
void |
dragOver(DragSourceDragEvent dsde)
呼吁
DragSourceListeners注册这个
DragSourceContext和与相关的
DragSource
dragOver,并通过他们指定的
DragSourceDragEvent。
|
void |
dropActionChanged(DragSourceDragEvent dsde)
呼吁
DragSourceListeners注册这个
DragSourceContext和与相关的
DragSource
dropActionChanged,并通过他们指定的
DragSourceDragEvent。
|
Component |
getComponent()
返回与此相关的
Component
DragSourceContext。
|
Cursor |
getCursor()
返回当前的阻力
Cursor。
|
DragSource |
getDragSource()
返回
DragSource实例化这个
DragSourceContext。
|
int |
getSourceActions()
返回
DnDConstants表示下降的行动与此相关的
DragSourceContext拖动操作拖放源支持设置的位掩码。
|
Transferable |
getTransferable()
返回与此相关的
Transferable
DragSourceContext。
|
DragGestureEvent |
getTrigger()
返回最初触发拖动
DragGestureEvent。
|
void |
removeDragSourceListener(DragSourceListener dsl)
从这个
DragSourceContext移除指定的
DragSourceListener。
|
void |
setCursor(Cursor c)
设置指定的
Cursor这个拖动操作光标。
|
void |
transferablesFlavorsChanged()
通知同伴,
Transferable的
DataFlavors已经改变。
|
protected void |
updateCurrentCursor(int sourceAct, int targetAct, int status)
如果默认的拖动光标行为是主动的,该方法将默认的拖动光标设置为支持的指定操作的默认拖动光标,拖放目标动作和状态,否则这种方法将不做任何操作。
|
protected static final int DEFAULT
Cursor应该更改为默认使用
int(没有下降)
Cursor。
protected static final int ENTER
Cursor进入
DropTarget用
int。
protected static final int OVER
Cursor在
DropTarget用
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称,该构造函数创建一个新的
DragSourceContext进行拖动
DragSourceContextPeer,触发拖动
DragGestureEvent,初始
Cursor用于拖动,一个(可选)
Image显示而拖发生偏移的
Image起源从热点在触发事件的瞬间,的
Transferable主题数据,和
DragSourceListener中使用拖放操作。
DragSourceContextPeer是
null
NullPointerException抛出。
DragGestureEvent是
null
NullPointerException抛出。
Cursor是
null不引发异常,默认的光标行为是这个拖动操作激活。
Image是
null不引发异常。
Image不
null和偏移量是
null
NullPointerException抛出。
Transferable是
null
NullPointerException抛出。
DragSourceListener是
null不引发异常。
dscp -这将
DragSourceContextPeer
trigger -触发事件
dragCursor为默认光标处理这个拖动操作或
null初始
Cursor;见的鼠标拖放在处理机制的更多细节
class level documentation
dragImage -
Image拖动(或
null)
offset -偏移的图像来源从热点在触发事件的即时
t -
Transferable
dsl -
DragSourceListener
IllegalArgumentException如果与触发事件相关的
Component是
null。
IllegalArgumentException如果触发事件的
DragSource是
null。
IllegalArgumentException如果触发事件的阻力作用是
DnDConstants.ACTION_NONE。
IllegalArgumentException如果与触发事件相关的
DragGestureRecognizer源行动等于
DnDConstants.ACTION_NONE。
NullPointerException如果DSCP,触发,或是零,或者如果dragimage非空和偏空
public DragSource getDragSource()
DragSource实例化这个
DragSourceContext。
DragSource实例化这个
DragSourceContext
public Component getComponent()
Component
DragSourceContext。
Component开始拖动
public DragGestureEvent getTrigger()
DragGestureEvent。
public int getSourceActions()
DnDConstants表示下降的行动与此相关的
DragSourceContext拖动操作拖放源支持设置的位掩码。
public void setCursor(Cursor c)
Cursor这个拖动操作光标。如果指定的
Cursor是
null,默认的光标行为是这个拖动操作激活,否则无效。
c -这个拖动操作的初始
Cursor,或
null为默认光标处理;看到在光标拖放操作期间的更多细节
class level documentation
public Cursor getCursor()
Cursor
拖动。
Cursor
public void addDragSourceListener(DragSourceListener dsl) throws TooManyListenersException
DragSourceListener这
DragSourceContext如果尚未添加。如果一个
DragSourceListener已经存在,该方法抛出一个
TooManyListenersException。
dsl -
DragSourceListener添加。值得注意的是,虽然
null是不禁止的,这是不可接受的参数。
TooManyListenersException -如果一个
DragSourceListener已添加
public void removeDragSourceListener(DragSourceListener dsl)
DragSourceContext移除指定的
DragSourceListener。
dsl -
DragSourceListener去除;注意,而
null是不禁止的,这是不可接受的参数
public void transferablesFlavorsChanged()
Transferable的
DataFlavors已经改变。
public void dragEnter(DragSourceDragEvent dsde)
DragSourceListeners注册这个
DragSourceContext和与相关的
DragSource
dragEnter,并通过他们指定的
DragSourceDragEvent。
dragEnter 接口
DragSourceListener
dsde -
DragSourceDragEvent
public void dragOver(DragSourceDragEvent dsde)
DragSourceListeners注册这个
DragSourceContext和与相关的
DragSource
dragOver,并通过他们指定的
DragSourceDragEvent。
dragOver 接口
DragSourceListener
dsde -
DragSourceDragEvent
public void dragExit(DragSourceEvent dse)
DragSourceListeners注册这个
DragSourceContext和与相关的
DragSource
dragExit,并通过他们指定的
DragSourceEvent。
dragExit 接口
DragSourceListener
dse -
DragSourceEvent
public void dropActionChanged(DragSourceDragEvent dsde)
DragSourceListeners注册这个
DragSourceContext和与相关的
DragSource
dropActionChanged,并通过他们指定的
DragSourceDragEvent。
dropActionChanged 接口
DragSourceListener
dsde -
DragSourceDragEvent
public void dragDropEnd(DragSourceDropEvent dsde)
DragSourceListeners注册这个
DragSourceContext和与相关的
DragSource
dragDropEnd,并通过他们指定的
DragSourceDropEvent。
dragDropEnd 接口
DragSourceListener
dsde -
DragSourceDropEvent
public void dragMouseMoved(DragSourceDragEvent dsde)
DragSourceContext相关的
DragSource注册
DragSourceMotionListeners
dragMouseMoved,并通过指定的
DragSourceDragEvent。
dragMouseMoved 接口
DragSourceMotionListener
dsde -
DragSourceDragEvent
public Transferable getTransferable()
Transferable
DragSourceContext。
Transferable
protected void updateCurrentCursor(int sourceAct,
int targetAct,
int status)
sourceAct通过拖动源支持行动
targetAct -降低目标的行动
status -一个领域
DEFAULT,
ENTER,
OVER,
CHANGED
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.