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