java.awt.dnd

接口
异常
java.lang.Object
  继承者 java.awt.dnd.DropTarget
所有已实现的接口:
DropTargetListener, Serializable, EventListener

public class DropTarget
     
extends Object
implements DropTargetListener, Serializable

在 Drag 和 Drop 操作期间,当 Component 希望接受 drop 时,DropTargetComponent 有关联。

每个 DropTarget 都与一个 FlavorMap 关联。这之后默认的 FlavorMap 指定 SystemFlavorMap.getDefaultFlavorMap() 所返回的 FlavorMap

从以下版本开始:
1.2
另请参见:
序列化表格

嵌套类摘要
protected static class DropTarget.DropTargetAutoScroller
          此受保护的嵌套类实现自动滚动
 
构造方法摘要
DropTarget()
          创建一个 DropTarget
DropTarget(Component c, DropTargetListener dtl)
          在给出与之关联的 Component 和执行事件处理的 DropTargetListener 的情况下创建一个 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 当前是否接受 drop 的 boolean 值的情况下,创建一个 DropTarget
DropTarget(Component c, int ops, DropTargetListener dtl, boolean act, FlavorMap fm)
          在给出与之关联的 Component、表示要支持的默认可接受操作的 int 值、执行事件处理的 DropTargetListener、表示 DropTarget 当前是否接受 drop 的 boolean 值和要使用的 FlavorMap(使用默认 FlavorMap 时为 null)的情况下,创建一个新的 DropTarget。
 
方法摘要
 void addDropTargetListener(DropTargetListener dtl)
          添加一个新的 DropTargetListener (UNICAST SOURCE)。
 void addNotify(java.awt.peer.ComponentPeer peer)
          通知 DropTarget 它已经与某个 Component 关联。
protected  void clearAutoscroll()
          清除自动滚动
protected  DropTarget.DropTargetAutoScroller createDropTargetAutoScroller(Component c, Point p)
          创建一个嵌入式自动滚动条
protected  DropTargetContext createDropTargetContext()
          创建与此 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 dropActionChanged(DropTargetDragEvent dtde)
          在已注册的 DropTargetListener 上调用 dropActionChanged,并将其传递给指定的 DropTargetDragEvent
 Component getComponent()
          获取与此 DropTarget 关联的 Component
 int getDefaultActions()
          获取表示受此 DropTarget 支持的当前操作的 int 值。
 DropTargetContext getDropTargetContext()
          获取与此 DropTarget 关联的 DropTargetContext
 FlavorMap getFlavorMap()
          获取与此 DropTarget 关联的 FlavorMap
protected  void initializeAutoscrolling(Point p)
          初始化自动滚动
 boolean isActive()
          报告此 DropTarget 当前是否为激活状态(准备接受 drop)。
 void removeDropTargetListener(DropTargetListener dtl)
          移除当前的 DropTargetListener (UNICAST SOURCE)。
 void removeNotify(java.awt.peer.ComponentPeer peer)
          通知 DropTarget 它已经与某个 Component 解除关联。
 void setActive(boolean isActive)
          如果为 true,则将 DropTarget 设置为激活状态;如果为 false,则将 DropTarget 设置为非激活状态。
 void setComponent(Component c)
          注意:要求此接口允许 DropTarget 以下面两种方式之一与 Component 安全关联:component.setDropTarget(droptarget)droptarget.setComponent(component)
 void setDefaultActions(int ops)
          为此 DropTarget 设置默认的可接受操作。
 void setFlavorMap(FlavorMap fm)
          设置 FlavorMap 与此 DropTarget 关联。
protected  void updateAutoscroll(Point dragCursorLocn)
          使用当前的光标位置更新自动滚动
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

DropTarget

public DropTarget(Component c,
                  int ops,
                  DropTargetListener dtl,
                  boolean act,
                  FlavorMap fm)
           throws HeadlessException
在给出与之关联的 Component、表示要支持的默认可接受操作的 int 值、执行事件处理的 DropTargetListener、表示 DropTarget 当前是否接受 drop 的 boolean 值和要使用的 FlavorMap(使用默认 FlavorMap 时为 null)的情况下,创建一个新的 DropTarget。

仅在已启用时 Component 才会接收 drop。

参数:
c - 与此 DropTarget 有关联的 Component
ops - 此 DropTarget 的默认可接受操作
dtl - 此 DropTargetDropTargetListener
act - DropTarget 是否接收 drop。
fm - 要使用的 FlavorMap,使用默认 FlavorMap 时为 null
抛出:
HeadlessException - 如果 GraphicsEnvironment.isHeadless() 返回 true
另请参见:
GraphicsEnvironment.isHeadless()

DropTarget

public DropTarget(Component c,
                  int ops,
                  DropTargetListener dtl,
                  boolean act)
           throws HeadlessException
在给出与之关联的 Component、表示支持的默认可接受操作的 int 值、执行事件处理的 DropTargetListener 和表示 DropTarget 当前是否接受 drop 的 boolean 值的情况下,创建一个 DropTarget

仅在已启用时 Component 才会接收 drop。

参数:
c - 与此 DropTarget 有关联的 Component
ops - 此 DropTarget 的默认可接受操作
dtl - 此 DropTargetDropTargetListener
act - DropTarget 是否接收 drop。
抛出:
HeadlessException - 如果 GraphicsEnvironment.isHeadless() 返回 true
另请参见:
GraphicsEnvironment.isHeadless()

DropTarget

public DropTarget()
           throws HeadlessException
创建一个 DropTarget

抛出:
HeadlessException - 如果 GraphicsEnvironment.isHeadless() 返回 true
另请参见:
GraphicsEnvironment.isHeadless()

DropTarget

public DropTarget(Component c,
                  DropTargetListener dtl)
           throws HeadlessException
在给出与之关联的 Component 和执行事件处理的 DropTargetListener 的情况下创建一个 DropTarget

仅在已启用时 Component 才会接收 drop。

参数:
c - 与此 DropTarget 有关联的 Component
dtl - 此 DropTargetDropTargetListener
抛出:
HeadlessException - 如果 GraphicsEnvironment.isHeadless() 返回 true
另请参见:
GraphicsEnvironment.isHeadless()

DropTarget

public DropTarget(Component c,
                  int ops,
                  DropTargetListener dtl)
           throws HeadlessException
在给出与之关联的 Component、表示支持的默认可接受操作的 int 值和执行事件处理的 DropTargetListener 的情况下,创建一个 DropTarget

仅在已启用时 Component 才会接收 drop。

参数:
c - 与此 DropTarget 有关联的 Component
ops - 此 DropTarget 的默认可接受操作
dtl - 此 DropTargetDropTargetListener
抛出:
HeadlessException - 如果 GraphicsEnvironment.isHeadless() 返回 true
另请参见:
GraphicsEnvironment.isHeadless()
方法详细信息

setComponent

public void setComponent(Component c)
注意:要求此接口允许 DropTarget 以下面两种方式之一与 Component 安全关联: component.setDropTarget(droptarget)droptarget.setComponent(component)

仅在已启用时 Component 才会接收 drop。

参数:
c - 此 DropTarget 要关联的新 Component


getComponent

public Component getComponent()
获取与此 DropTarget 关联的 Component

返回:
当前的 Component

setDefaultActions

public void setDefaultActions(int ops)
为此 DropTarget 设置默认的可接受操作。

参数:
ops - 默认操作

另请参见:
DnDConstants

getDefaultActions

public int getDefaultActions()
获取表示受此 DropTarget 支持的当前操作的 int 值。

返回:
当前的默认操作

setActive

public void setActive(boolean isActive)
如果为 true,则将 DropTarget 设置为激活状态;如果为 false,则将 DropTarget 设置为非激活状态。

参数:
isActive - 将 DropTarget 设置为(非)激活状态。

isActive

public boolean isActive()
报告此 DropTarget 当前是否为激活状态(准备接受 drop)。

返回:
如果为激活状态,则返回 true;否则返回 false

addDropTargetListener

public void addDropTargetListener(DropTargetListener dtl)
                           throws TooManyListenersException
添加一个新的 DropTargetListener (UNICAST SOURCE)。

参数:
dtl - 新的 DropTargetListener

抛出:
TooManyListenersException - 如果已向此 DropTarget 添加 DropTargetListener
TooManyListenersException

removeDropTargetListener

public void removeDropTargetListener(DropTargetListener dtl)
移除当前的 DropTargetListener (UNICAST SOURCE)。

参数:
dtl - 要取消注册的 DropTargetListener。

dragEnter

public void dragEnter(DropTargetDragEvent dtde)
在已注册的 DropTargetListener 上调用 dragEnter,并将其传递给指定的 DropTargetDragEvent。 如果此 DropTarget 是非激活状态,则此调用无效。

指定者:
接口 DropTargetListener 中的 dragEnter
参数:
dtde - DropTargetDragEvent
抛出:
NullPointerException - 如果此 DropTarget 处于激活状态并且 dtdenull
另请参见:
isActive()

dragOver

public void dragOver(DropTargetDragEvent dtde)
在已注册的 DropTargetListener 上调用 dragOver,并将其传递给指定的 DropTargetDragEvent。 如果此 DropTarget 是非激活状态,则该调用无效。

指定者:
接口 DropTargetListener 中的 dragOver
参数:
dtde - DropTargetDragEvent
抛出:
NullPointerException - 如果此 DropTarget 处于激活状态并且 dtdenull
另请参见:
isActive()

dropActionChanged

public void dropActionChanged(DropTargetDragEvent dtde)
在已注册的 DropTargetListener 上调用 dropActionChanged,并将其传递给指定的 DropTargetDragEvent。 如果此 DropTarget 是非激活状态,则此调用无效。

指定者:
接口 DropTargetListener 中的 dropActionChanged
参数:
dtde - DropTargetDragEvent
抛出:
NullPointerException - 如果此 DropTarget 处于激活状态并且 dtdenull
另请参见:
isActive()

dragExit

public void dragExit(DropTargetEvent dte)
在已注册的 DropTargetListener 上调用 dragExit,并将其传递给指定的 DropTargetEvent。 如果此 DropTarget 是非激活状态,则此调用无效。

对于 null 参数,此方法本身并不抛出任何异常,而是由相应的侦听器方法抛出异常。

指定者:
接口 DropTargetListener 中的 dragExit
参数:
dte - DropTargetEvent
另请参见:
isActive()

drop

public void drop(DropTargetDropEvent dtde)
如果此 DropTarget 处于激活状态,则在已注册的 DropTargetListener 上调用 drop,并将其传递给指定的 DropTargetDropEvent

指定者:
接口 DropTargetListener 中的 drop
参数:
dtde - DropTargetDropEvent
抛出:
NullPointerException - 如果 dtde 为 null 并且以下条件中至少有一个为真:此 DropTarget 不处于激活状态,或者没有已注册的 DropTargetListener
另请参见:
isActive()

getFlavorMap

public FlavorMap getFlavorMap()
获取与此 DropTarget 关联的 FlavorMap。 如果没有为此 DropTarget 设置 FlavorMap,则它与默认的 FlavorMap 关联。

返回:
此 DropTarget 的 FlavorMap

setFlavorMap

public void setFlavorMap(FlavorMap fm)
设置 FlavorMap 与此 DropTarget 关联。

参数:
fm - 新的 FlavorMap,如果将默认的 FlavorMap 与此 DropTarget 关联,则为 null。

addNotify

public void addNotify(java.awt.peer.ComponentPeer peer)
通知 DropTarget 它已经与某个 Component 关联。通常从与此 DropTarget 相关联 Component 的 java.awt.Component.addNotify() 调用此方法,以通知 DropTarget 一个 ComponentPeer 已经与该 Component 关联。调用此方法,而不是将 ComponentPeer 与 Component 的关联通知给此 DropTarget,这可能导致 DnD 系统故障。

参数:
peer - 与该 Component 关联的同位体

removeNotify

public void removeNotify(java.awt.peer.ComponentPeer peer)
通知 DropTarget 它已经与某个 Component 解除关联。通常从与此 DropTarget 相关联 Component 的 java.awt.Component.removeNotify() 调用此方法,以通知 DropTarget 一个 ComponentPeer 已经与该 Component 解除关联。调用此方法,而不是将 ComponentPeer 与 Component 的解除关联通知给此 DropTarget,这可能导致 DnD 系统故障。

参数:
peer - 与该 Component 解除关联的同位体

getDropTargetContext

public DropTargetContext getDropTargetContext()
获取与此 DropTarget 关联的 DropTargetContext

返回:
与此 DropTarget 关联的 DropTargetContext

createDropTargetContext

protected DropTargetContext createDropTargetContext()
创建与此 DropTarget 关联的 DropTargetContext。子类可能重写此方法,以实例化它们自己的 DropTargetContext 子类。 通常只在拖动操作遇到此 DropTarget 时才由平台的 DropTargetContextPeer 调用此方法。在当前没有 Drag 时访问 Context 的结果是不明确的。


createDropTargetAutoScroller

protected DropTarget.DropTargetAutoScroller createDropTargetAutoScroller(Component c,
                                                                         Point p)
创建一个嵌入式自动滚动条

参数:
c - Component
p - Point

initializeAutoscrolling

protected void initializeAutoscrolling(Point p)
初始化自动滚动

参数:
p - Point

updateAutoscroll

protected void updateAutoscroll(Point dragCursorLocn)
使用当前的光标位置更新自动滚动

参数:
dragCursorLocn - Point

clearAutoscroll

protected void clearAutoscroll()
清除自动滚动