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