- java.lang.Object
-
- javax.swing.TransferHandler.TransferSupport
-
- Enclosing class:
- TransferHandler
public static final class TransferHandler.TransferSupport extends Object
该类封装了剪贴板的所有相关细节或拖放传输,还允许自定义拖放体验的方面。此类的主要目的是提供开发人员所需的信息,以确定转移的适用性或导入其中包含的数据。 但是,它也可以在拖放过程中自定义属性的控制器,例如是否显示放置位置以及要使用的放置操作。
开发人员通常不需要创建此类的实例。 相反,它们是由DnD实现提供的,在
TransferHandler
某些方法。
-
-
构造方法摘要
构造方法 Constructor 描述 TransferSupport(Component component, Transferable transferable)
为给定的组件创建一个TransferSupport
其中isDrop()
false
,以及Transferable
。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 Component
getComponent()
返回此传输的目标组件。DataFlavor[]
getDataFlavors()
返回此传输的数据风格。int
getDropAction()
返回为下降选择的操作,当此TransferSupport
表示下降。TransferHandler.DropLocation
getDropLocation()
返回组件的当前(非null
)放置位置,当此TransferSupport
表示下降。int
getSourceDropActions()
当这个TransferSupport
代表一个下降时,返回拖动源支持的放置操作。Transferable
getTransferable()
返回与此传输相关联的Transferable
。int
getUserDropAction()
返回drop的用户drop操作,当这个TransferSupport
代表一个下降。boolean
isDataFlavorSupported(DataFlavor df)
返回是否支持给定的数据风格。boolean
isDrop()
返回此TransferSupport
是否代表放置操作。void
setDropAction(int dropAction)
将传输的放置操作设置为给定操作,而不是默认的用户放置操作。void
setShowDropLocation(boolean showDropLocation)
设置丢弃位置是否应在视觉上指定用于传输 - 这必须代表一个丢弃。
-
-
-
构造方法详细信息
-
TransferSupport
public TransferSupport(Component component, Transferable transferable)
为给定的组件创建一个TransferSupport
其中包含isDrop()
false
和Transferable
。- 参数
-
component
- 目标组件 -
transferable
- 可转让 - 异常
-
NullPointerException
- 如果任一参数是null
-
-
方法详细信息
-
isDrop
public boolean isDrop()
返回此TransferSupport
是否表示放置操作。- 结果
-
true
如果这是一个drop操作,否则为false
。
-
getComponent
public Component getComponent()
返回此传输的目标组件。- 结果
- 目标组件
-
getDropLocation
public TransferHandler.DropLocation getDropLocation()
返回组件的当前(非null
)放置位置,当此TransferSupport
表示下降。注:对于具有内置拖放支持组件,此位置将是子类
DropLocation
通过该组件的返回相同类型的getDropLocation
方法。此方法仅适用于拖放传输。 当
isDrop()
是false
时调用它false
导致一个IllegalStateException
。- 结果
- 下降位置
- 异常
-
IllegalStateException
- 如果这不是下降 - 另请参见:
-
isDrop()
-
setShowDropLocation
public void setShowDropLocation(boolean showDropLocation)
设置丢弃位置是否应在视觉上指定用于传输 - 这必须代表一个丢弃。 这适用于在拖放操作期间适当时自动显示放置位置的组件)。 默认情况下,当放置位置只显示TransferHandler
已表示可以接受这一代表的进口TransferSupport
。 使用此方法,您可以强制放置位置始终显示,或始终不显示。此方法仅适用于拖放传输。 调用它时
isDrop()
为false
导致一个IllegalStateException
。- 参数
-
showDropLocation
- 是否指示放置位置 - 异常
-
IllegalStateException
- 如果这不是下降 - 另请参见:
-
isDrop()
-
setDropAction
public void setDropAction(int dropAction)
将传输的放置操作设置为给定操作,而不是默认的用户放置操作。 该行动必须由源的放置动作的支持,并且必须是一个COPY
,MOVE
或者LINK
。此方法仅适用于拖放传输。 致电
isDrop()
是false
结果是IllegalStateException
。- 参数
-
dropAction
- 删除操作 - 异常
-
IllegalStateException
- 如果这不是下降 -
IllegalArgumentException
- 如果指定了无效操作 - 另请参见:
-
getDropAction()
,getUserDropAction()
,getSourceDropActions()
,isDrop()
-
getDropAction
public int getDropAction()
返回为下降选择的操作,当此TransferSupport
表示下降。除非通过
setDropAction
明确选择,否则返回由getUserDropAction
提供的用户删除操作。您可能希望在
TransferHandler
的importData
方法中查询,以根据操作自定义处理。此方法仅适用于拖放传输。 致电
isDrop()
是false
结果是IllegalStateException
。- 结果
- 为下降选择的动作
- 异常
-
IllegalStateException
- 如果这不是下降 - 另请参见:
-
setDropAction(int)
,getUserDropAction()
,isDrop()
-
getUserDropAction
public int getUserDropAction()
返回drop的用户drop操作,当此TransferSupport
表示一个下降。按照
DropTargetDragEvent
和DropTargetDropEvent
的说明文件所述选择用户删除操作。 可以通过setDropAction
方法选择不同的动作作为放置动作。您可能希望在确定下降的适用性或决定明确选择的下降操作时,在
TransferHandler
的canImport
进行查询。此方法仅适用于拖放传输。 打电话给
isDrop()
是false
结果是IllegalStateException
。- 结果
- 用户放下动作
- 异常
-
IllegalStateException
- 如果这不是一个下降 - 另请参见:
-
setDropAction(int)
,getDropAction()
,isDrop()
-
getSourceDropActions
public int getSourceDropActions()
当这个TransferSupport
代表下降时,返回拖动源支持的放置操作。源操作表示该集合由该传送源支持的动作,和被表示为一些按位或组合的
COPY
,MOVE
和LINK
。 您可能希望在TransferHandler
的canImport
方法中查询,当确定一个drop的适用性时,或者在决定一个drop action来明确选择时。 要确定源是否支持特定操作,按位和与源放置操作的操作,然后将结果与原始操作进行比较。 例如:boolean copySupported = (COPY & getSourceDropActions()) == COPY;
此方法仅适用于拖放传输。 致电
isDrop()
是false
结果是IllegalStateException
。- 结果
- 拖动源支持的放置操作
- 异常
-
IllegalStateException
- 如果这不是下降 - 另请参见:
-
isDrop()
-
getDataFlavors
public DataFlavor[] getDataFlavors()
返回此传输的数据风格。- 结果
- 这种传输的数据风格
-
isDataFlavorSupported
public boolean isDataFlavorSupported(DataFlavor df)
返回是否支持给定的数据风格。- 参数
-
df
-DataFlavor
要测试 - 结果
- 是否支持给定的味道。
-
getTransferable
public Transferable getTransferable()
返回与此传输相关联的Transferable
。注意:除非有必要直接提取
Transferable
,否则请使用本课程中的其他方法之一查询转移。 这可能比获取Transferable
并直接询问更好。- 结果
-
Transferable
与此转移有关
-
-