java.lang.Object
java.awt.dnd.DropTarget
- 所有已实现的接口:
-
DropTargetListener
,Serializable
,EventListener
DropTarget
与Component
关联,当该Component
希望在拖放操作期间接受拖放时。
每个DropTarget
都与一个FlavorMap
相关联。默认的FlavorMap
指的是SystemFlavorMap.getDefaultFlavorMap()
返回的FlavorMap
。
- 自从:
- 1.2
- 参见:
-
Nested Class Summary
Modifier and TypeClassDescriptionprotected static class
这个受保护的嵌套类实现了自动滚动 -
Constructor Summary
ConstructorDescription创建一个DropTarget
。DropTarget
(Component c, int ops, DropTargetListener dtl) 给定要关联的Component
,表示默认可接受操作的int
,以及处理事件处理的DropTargetListener
,创建一个DropTarget
。DropTarget
(Component c, int ops, DropTargetListener dtl, boolean act) 给定要关联的Component
,表示默认可接受操作的int
,处理事件处理的DropTargetListener
,以及指示DropTarget
当前是否接受拖放的boolean
,创建一个DropTarget
。DropTarget
(Component c, int ops, DropTargetListener dtl, boolean act, FlavorMap fm) 给定要关联的Component
,表示默认可接受操作的int
,处理事件处理的DropTargetListener
,指示DropTarget
当前是否接受拖放的boolean
,以及要使用的FlavorMap
(或默认FlavorMap
的null),创建一个新的DropTarget。DropTarget
(Component c, DropTargetListener dtl) 给定要关联的Component
和处理事件处理的DropTargetListener
,创建一个DropTarget
。 -
Method Summary
Modifier and TypeMethodDescriptionvoid
添加一个新的DropTargetListener
(单播源)。void
通知DropTarget它已与一个Component关联。通常从与此DropTarget关联的Component的java.awt.Component.addNotify()中调用此方法,以通知DropTarget已将ComponentPeer与该Component关联。protected void
清除自动滚动protected DropTarget.DropTargetAutoScroller
创建一个嵌入式自动滚动器protected DropTargetContext
创建与此DropTarget关联的DropTargetContext。void
dragEnter
(DropTargetDragEvent dtde) 在注册的DropTargetListener
上调用dragEnter
,并传递指定的DropTargetDragEvent
。void
dragExit
(DropTargetEvent dte) 在注册的DropTargetListener
上调用dragExit
,并传递指定的DropTargetEvent
。void
dragOver
(DropTargetDragEvent dtde) 在注册的DropTargetListener
上调用dragOver
,并传递指定的DropTargetDragEvent
。void
drop
(DropTargetDropEvent dtde) 如果此DropTarget
处于活动状态,则在注册的DropTargetListener
上调用drop
,并传递指定的DropTargetDropEvent
。void
在注册的DropTargetListener
上调用dropActionChanged
,并传递指定的DropTargetDragEvent
。获取与此DropTarget
关联的Component
。int
获取表示此DropTarget
当前支持的操作的int
。获取与此DropTarget
关联的DropTargetContext
。获取与此DropTarget
关联的FlavorMap
。protected void
初始化自动滚动boolean
isActive()
报告此DropTarget
当前是否活动(准备接受拖放)。void
移除当前的DropTargetListener
(单播源)。void
通知DropTarget它已与一个Component解除关联。通常从与此DropTarget关联的Component的java.awt.Component.removeNotify()中调用此方法,以通知DropTarget已将ComponentPeer与该Component解除关联。void
setActive
(boolean isActive) 如果为true
,则设置DropTarget为活动状态;如果为false
,则设置为非活动状态。void
注意:此接口要求以两种方式之一安全地将DropTarget与Component关联,即:component.setDropTarget(droptarget);
或droptarget.setComponent(component);
void
setDefaultActions
(int ops) 设置此DropTarget
的默认可接受操作。void
设置与此DropTarget
关联的FlavorMap
。protected void
updateAutoscroll
(Point dragCursorLocn) 使用当前光标位置更新自动滚动
-
Constructor Details
-
DropTarget
public DropTarget(Component c, int ops, DropTargetListener dtl, boolean act, FlavorMap fm) throws HeadlessException 给定要关联的Component
,表示默认可接受操作的int
,处理事件处理的DropTargetListener
,指示DropTarget
当前是否接受拖放的boolean
,以及要使用的FlavorMap
(或默认FlavorMap
的null),创建一个新的DropTarget。只有启用的Component才会接收拖放。
- 参数:
-
c
- 与此DropTarget
关联的Component
-
ops
- 此DropTarget
的默认可接受操作 -
dtl
- 此DropTarget
的DropTargetListener
-
act
-DropTarget
是否接受拖放 -
fm
- 要使用的FlavorMap
,或默认FlavorMap
的null - 抛出:
-
HeadlessException
- 如果GraphicsEnvironment.isHeadless()返回true - 参见:
-
DropTarget
public DropTarget(Component c, int ops, DropTargetListener dtl, boolean act) throws HeadlessException 给定要关联的Component
,表示默认可接受操作的int
,处理事件处理的DropTargetListener
,以及指示DropTarget
当前是否接受拖放的boolean
,创建一个DropTarget
。只有启用的Component才会接收拖放。
- 参数:
-
c
- 与此DropTarget
关联的Component
-
ops
- 此DropTarget
的默认可接受操作 -
dtl
- 此DropTarget
的DropTargetListener
-
act
-DropTarget
是否接受拖放 - 抛出:
-
HeadlessException
- 如果GraphicsEnvironment.isHeadless()返回true - 参见:
-
DropTarget
创建一个DropTarget
。- 抛出:
-
HeadlessException
- 如果GraphicsEnvironment.isHeadless()返回true - 参见:
-
DropTarget
给定要关联的Component
和处理事件处理的DropTargetListener
,创建一个DropTarget
。只有启用的Component才会接收拖放。
- 参数:
-
c
- 与此DropTarget
关联的Component
-
dtl
- 此DropTarget
的DropTargetListener
- 抛出:
-
HeadlessException
- 如果GraphicsEnvironment.isHeadless()返回true - 参见:
-
DropTarget
给定要关联的Component
,表示默认可接受操作的int
,以及处理事件处理的DropTargetListener
,创建一个DropTarget
。只有启用的Component才会接收拖放。
- 参数:
-
c
- 与此DropTarget
关联的Component
-
ops
- 此DropTarget
的默认可接受操作 -
dtl
- 此DropTarget
的DropTargetListener
- 抛出:
-
HeadlessException
- 如果GraphicsEnvironment.isHeadless()返回true - 参见:
-
-
Method Details
-
setComponent
注意:此接口要求以两种方式之一安全地将DropTarget与Component关联,即:component.setDropTarget(droptarget);
或droptarget.setComponent(component);
只有启用的Component才会接收拖放。
- 参数:
-
c
- 要将此DropTarget
关联的新Component
-
getComponent
获取与此DropTarget
关联的Component
。- 返回:
-
当前
Component
-
setDefaultActions
public void setDefaultActions(int ops) 设置此DropTarget
的默认可接受操作。- 参数:
-
ops
- 默认操作 - 参见:
-
getDefaultActions
public int getDefaultActions()获取表示此DropTarget
当前支持的操作的int
。- 返回:
- 当前默认操作
-
setActive
public void setActive(boolean isActive) 如果true
,则设置DropTarget为活动状态;如果false
,则设置为非活动状态。- 参数:
-
isActive
- 设置DropTarget
的活动状态。
-
isActive
public boolean isActive()报告此DropTarget
当前是否处于活动状态(准备接受拖放)。- 返回:
-
如果活动,则返回
true
;如果非活动,则返回false
。
-
addDropTargetListener
添加新的DropTargetListener
(单播源)。- 参数:
-
dtl
- 新的DropTargetListener
- 抛出:
-
TooManyListenersException
- 如果已经向此DropTarget
添加了一个DropTargetListener
。
-
removeDropTargetListener
移除当前的DropTargetListener
(单播源)。- 参数:
-
dtl
- 要注销的DropTargetListener
。
-
dragEnter
在已注册的DropTargetListener
上调用dragEnter
,并将指定的DropTargetDragEvent
传递给它。如果此DropTarget
未处于活动状态,则不会产生任何效果。- 指定者:
-
dragEnter
在接口DropTargetListener
中 - 参数:
-
dtde
-DropTargetDragEvent
- 抛出:
-
NullPointerException
- 如果此DropTarget
处于活动状态且dtde
为null
- 参见:
-
dragOver
在已注册的DropTargetListener
上调用dragOver
,并将指定的DropTargetDragEvent
传递给它。如果此DropTarget
未处于活动状态,则不会产生任何效果。- 指定者:
-
dragOver
在接口DropTargetListener
中 - 参数:
-
dtde
-DropTargetDragEvent
- 抛出:
-
NullPointerException
- 如果此DropTarget
处于活动状态且dtde
为null
- 参见:
-
dropActionChanged
在已注册的DropTargetListener
上调用dropActionChanged
,并将指定的DropTargetDragEvent
传递给它。如果此DropTarget
未处于活动状态,则不会产生任何效果。- 指定者:
-
dropActionChanged
在接口DropTargetListener
中 - 参数:
-
dtde
-DropTargetDragEvent
- 抛出:
-
NullPointerException
- 如果此DropTarget
处于活动状态且dtde
为null
- 参见:
-
dragExit
在已注册的DropTargetListener
上调用dragExit
,并将指定的DropTargetEvent
传递给它。如果此DropTarget
未处于活动状态,则不会产生任何效果。此方法本身不会因为空参数而抛出异常,但会因为监听器的相应方法抛出的异常而导致异常。
- 指定者:
-
dragExit
在接口DropTargetListener
中 - 参数:
-
dte
-DropTargetEvent
- 参见:
-
drop
如果此DropTarget
处于活动状态,则在已注册的DropTargetListener
上调用drop
,并将指定的DropTargetDropEvent
传递给它。- 指定者:
-
drop
在接口DropTargetListener
中 - 参数:
-
dtde
-DropTargetDropEvent
- 抛出:
-
NullPointerException
- 如果dtde
为null
,并且以下至少一项为真:此DropTarget
未处于活动状态,或者未注册DropTargetListener
。 - 参见:
-
getFlavorMap
获取与此DropTarget
关联的FlavorMap
。如果未为此DropTarget
设置FlavorMap
,则将其与默认的FlavorMap
关联。- 返回:
- 此DropTarget的FlavorMap
-
setFlavorMap
设置与此DropTarget
关联的FlavorMap
。- 参数:
-
fm
- 新的FlavorMap
,或者使用默认的FlavorMap关联此DropTarget。
-
addNotify
public void addNotify()通知DropTarget已与组件关联。通常从与此DropTarget关联的组件的java.awt.Component.addNotify()中调用此方法,以通知DropTarget已将ComponentPeer与该组件关联。除了通知此DropTarget与ComponentPeer的关联之外,调用此方法可能导致DnD系统出现故障。 -
removeNotify
public void removeNotify()通知DropTarget已与组件取消关联。通常从与此DropTarget关联的组件的java.awt.Component.removeNotify()中调用此方法,以通知DropTarget已将ComponentPeer与该组件取消关联。除了通知此DropTarget与ComponentPeer的取消关联之外,调用此方法可能导致DnD系统出现故障。 -
getDropTargetContext
获取与此DropTarget
关联的DropTargetContext
。- 返回:
-
与此
DropTarget
关联的DropTargetContext
。
-
createDropTargetContext
创建与此DropTarget关联的DropTargetContext。子类可以重写此方法以实例化自己的DropTargetContext子类。通常情况下,此调用仅由平台的DropTargetContextPeer在拖动操作遇到此DropTarget时调用。在没有当前拖动的情况下访问上下文会导致结果不确定。- 返回:
- 与此DropTarget关联的DropTargetContext
-
createDropTargetAutoScroller
创建一个嵌入式自动滚动器- 参数:
-
c
-Component
-
p
-Point
- 返回:
- 一个嵌入式自动滚动器
-
initializeAutoscrolling
初始化自动滚动- 参数:
-
p
-Point
-
updateAutoscroll
使用当前光标位置更新自动滚动- 参数:
-
dragCursorLocn
-Point
-
clearAutoscroll
protected void clearAutoscroll()清除自动滚动
-