- 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 方法 描述 ComponentgetComponent()返回此传输的目标组件。DataFlavor[]getDataFlavors()返回此传输的数据风格。intgetDropAction()返回为下降选择的操作,当此TransferSupport表示下降。TransferHandler.DropLocationgetDropLocation()返回组件的当前(非null)放置位置,当此TransferSupport表示下降。intgetSourceDropActions()当这个TransferSupport代表一个下降时,返回拖动源支持的放置操作。TransferablegetTransferable()返回与此传输相关联的Transferable。intgetUserDropAction()返回drop的用户drop操作,当这个TransferSupport代表一个下降。booleanisDataFlavorSupported(DataFlavor df)返回是否支持给定的数据风格。booleanisDrop()返回此TransferSupport是否代表放置操作。voidsetDropAction(int dropAction)将传输的放置操作设置为给定操作,而不是默认的用户放置操作。voidsetShowDropLocation(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与此转移有关
-
-