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)
呼吁
DragSourceListener s注册这个
DragSourceContext 和与相关的
DragSource
dragDropEnd ,并通过他们指定的
DragSourceDropEvent 。
|
void |
dragEnter(DragSourceDragEvent dsde)
呼吁
DragSourceListener s注册这个
DragSourceContext 和与相关的
DragSource
dragEnter ,并通过他们指定的
DragSourceDragEvent 。
|
void |
dragExit(DragSourceEvent dse)
呼吁
DragSourceListener s注册这个
DragSourceContext 和与相关的
DragSource
dragExit ,并通过他们指定的
DragSourceEvent 。
|
void |
dragMouseMoved(DragSourceDragEvent dsde)
呼吁这个
DragSourceContext 相关的
DragSource 注册
DragSourceMotionListener s
dragMouseMoved ,并通过指定的
DragSourceDragEvent 。
|
void |
dragOver(DragSourceDragEvent dsde)
呼吁
DragSourceListener s注册这个
DragSourceContext 和与相关的
DragSource
dragOver ,并通过他们指定的
DragSourceDragEvent 。
|
void |
dropActionChanged(DragSourceDragEvent dsde)
呼吁
DragSourceListener s注册这个
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 的
DataFlavor s已经改变。
|
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
的
DataFlavor
s已经改变。
public void dragEnter(DragSourceDragEvent dsde)
DragSourceListener
s注册这个
DragSourceContext
和与相关的
DragSource
dragEnter
,并通过他们指定的
DragSourceDragEvent
。
dragEnter
接口
DragSourceListener
dsde
-
DragSourceDragEvent
public void dragOver(DragSourceDragEvent dsde)
DragSourceListener
s注册这个
DragSourceContext
和与相关的
DragSource
dragOver
,并通过他们指定的
DragSourceDragEvent
。
dragOver
接口
DragSourceListener
dsde
-
DragSourceDragEvent
public void dragExit(DragSourceEvent dse)
DragSourceListener
s注册这个
DragSourceContext
和与相关的
DragSource
dragExit
,并通过他们指定的
DragSourceEvent
。
dragExit
接口
DragSourceListener
dse
-
DragSourceEvent
public void dropActionChanged(DragSourceDragEvent dsde)
DragSourceListener
s注册这个
DragSourceContext
和与相关的
DragSource
dropActionChanged
,并通过他们指定的
DragSourceDragEvent
。
dropActionChanged
接口
DragSourceListener
dsde
-
DragSourceDragEvent
public void dragDropEnd(DragSourceDropEvent dsde)
DragSourceListener
s注册这个
DragSourceContext
和与相关的
DragSource
dragDropEnd
,并通过他们指定的
DragSourceDropEvent
。
dragDropEnd
接口
DragSourceListener
dsde
-
DragSourceDropEvent
public void dragMouseMoved(DragSourceDragEvent dsde)
DragSourceContext
相关的
DragSource
注册
DragSourceMotionListener
s
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.