- 封闭类:
TransferHandler
此类的主要目的是提供开发人员确定传输的适用性或导入其中包含的数据所需的信息。但它也兼作控制器,用于在拖放过程中自定义属性,例如是否显示放置位置以及使用哪个放置操作。
开发人员通常不需要创建此类的实例。相反,它们是由 DnD 实现提供给 TransferHandler 中某些方法的东西。
- 自从:
- 1.6
- 参见:
-
构造方法总结
构造方法构造方法描述TransferSupport(Component component, Transferable transferable) 为给定组件和Transferable创建一个带有isDrop()false的TransferSupport。 -
方法总结
修饰符和类型方法描述返回此传输的目标组件。返回此传输的数据类型。int当此TransferSupport表示放置时,返回为放置选择的操作。当此TransferSupport表示放置时,返回组件的当前(非null)放置位置。int当此TransferSupport表示放置时,返回拖动源支持的放置操作。返回与此传输关联的Transferable。int当此TransferSupport表示放置时,返回用户放置操作。boolean返回是否支持给定的数据风格。booleanisDrop()返回此TransferSupport是否表示删除操作。voidsetDropAction(int dropAction) 将传输的放置操作(必须代表放置)设置为给定操作,而不是默认的用户放置操作。voidsetShowDropLocation(boolean showDropLocation) 设置是否应在视觉上指示传输的放置位置 - 这必须代表放置。
-
构造方法详细信息
-
TransferSupport
为给定组件和Transferable创建一个带有isDrop()false的TransferSupport。- 参数:
component- 目标组件transferable- 可转让- 抛出:
NullPointerException- 如果任一参数为null
-
-
方法详情
-
isDrop
public boolean isDrop()返回此TransferSupport是否表示删除操作。- 返回:
true如果这是删除操作,false否则。
-
getComponent
返回此传输的目标组件。- 返回:
- 目标组件
-
getDropLocation
当此TransferSupport表示放置时,返回组件的当前(非null)放置位置。注意:对于具有内置拖放支持的组件,此位置将是该组件的
getDropLocation方法返回的相同类型的DropLocation的子类。此方法仅适用于拖放传输。当
isDrop()为false时调用它会导致IllegalStateException。- 返回:
- 下降位置
- 抛出:
IllegalStateException- 如果这不是掉落物- 参见:
-
setShowDropLocation
public void setShowDropLocation(boolean showDropLocation) 设置是否应在视觉上指示传输的放置位置 - 这必须代表放置。这适用于那些在拖放操作期间适当时自动显示放置位置的组件。默认情况下,仅当TransferHandler表示它可以接受此TransferSupport表示的导入时,才会显示放置位置。使用此方法,您可以强制放置位置始终显示或始终不显示。此方法仅适用于拖放传输。当
isDrop()为false时调用它会导致IllegalStateException。- 参数:
showDropLocation- 是否指示放置位置- 抛出:
IllegalStateException- 如果这不是掉落物- 参见:
-
setDropAction
public void setDropAction(int dropAction) 将传输的放置操作(必须代表放置)设置为给定操作,而不是默认的用户放置操作。该操作必须由源的放置操作支持,并且必须是COPY、MOVE或LINK之一。此方法仅适用于拖放传输。当
isDrop()为false时调用它会导致IllegalStateException。- 参数:
dropAction- 放下动作- 抛出:
IllegalStateException- 如果这不是掉落物IllegalArgumentException- 如果指定了无效操作- 参见:
-
getDropAction
public int getDropAction()当此TransferSupport表示放置时,返回为放置选择的操作。除非通过
setDropAction明确选择,否则这将返回getUserDropAction提供的用户删除操作。您可能希望在
TransferHandler的importData方法中对此进行查询,以根据操作自定义处理。此方法仅适用于拖放传输。当
isDrop()为false时调用它会导致IllegalStateException。- 返回:
- 为 drop 选择的动作
- 抛出:
IllegalStateException- 如果这不是掉落物- 参见:
-
getUserDropAction
public int getUserDropAction()当此TransferSupport表示放置时,返回用户放置操作。如
DropTargetDragEvent和DropTargetDropEvent的文档中所述,为放置选择了用户放置操作。可以通过setDropAction方法选择不同的动作作为放置动作。在确定放置的适用性或决定要明确选择的放置操作时,您可能希望在
TransferHandler的canImport方法中查询此信息。此方法仅适用于拖放传输。当
isDrop()为false时调用它会导致IllegalStateException。- 返回:
- 用户放下动作
- 抛出:
IllegalStateException- 如果这不是掉落物- 参见:
-
getSourceDropActions
public int getSourceDropActions()当此TransferSupport表示放置时,返回拖动源支持的放置操作。源动作表示此传输源支持的动作集,并表示为
COPY、MOVE和LINK的某种按位或组合。在确定放置的适用性或决定要明确选择的放置操作时,您可能希望在TransferHandler的canImport方法中查询此信息。要确定源是否支持特定操作,请将该操作与源放置操作按位与,然后将结果与原始操作进行比较。例如:boolean copySupported = (COPY & getSourceDropActions()) == COPY;
此方法仅适用于拖放传输。当
isDrop()为false时调用它会导致IllegalStateException。- 返回:
- 拖动源支持的拖放操作
- 抛出:
IllegalStateException- 如果这不是掉落物- 参见:
-
getDataFlavors
返回此传输的数据类型。- 返回:
- 此传输的数据类型
-
isDataFlavorSupported
返回是否支持给定的数据风格。- 参数:
df- 要测试的DataFlavor- 返回:
- 是否支持给定的口味。
-
getTransferable
返回与此传输关联的Transferable。注意:除非需要直接获取
Transferable,否则请使用此类的其他方法之一来查询传输。这可能比获取Transferable并直接询问它更好。- 返回:
-
与此传输关联的
Transferable
-