public class TransferHandler extends Object implements Serializable
Transferable
和Swing组件。的
Transferable
用于表示交换通过剪切,复制数据,或从剪贴板粘贴/。它也用于拖放操作来表示一个组件的拖动,并将一个下拉到一个组件中。“秋千”提供了自动支持“剪切”、“复制”和“粘贴”键盘绑定的功能,使用该类实现提供的功能。“秋千”还提供了自动支持拖放功能的功能,该功能使用本类实现提供的功能。Swing开发者可以专注于指定转移的语义主要是通过对一个Swing组件设置
transferHandler
财产。
该类实现提供一个简单的通过指定在构造函数中的属性的名称来传递组件属性的默认行为。例如,从一个组件的前景颜色转移到另一个通过剪贴板和拖放操作TransferHandler
可以构造以字符串“前台”。内置的支持将使用的颜色由getForeground
为转移的来源,并为转移目标setForeground
。
请看 How to Use Drag and Drop and Data Transfer,java教程中的一部分,更多的信息。
Modifier and Type | Class and Description |
---|---|
static class |
TransferHandler.DropLocation
表示要插入的数据的位置。
|
static class |
TransferHandler.TransferSupport
这个类封装了一个剪贴板或拖放转移相关的细节,并允许定制拖放体验方面。
|
Modifier and Type | Field and Description |
---|---|
static int |
COPY
表示“复制”转移作用的一种
int 。
|
static int |
COPY_OR_MOVE
一个
int 代表源行动能力“复制”或“移动”。
|
static int |
LINK
代表一个“链接”转移作用的一种
int 。
|
static int |
MOVE
代表一个“移动”的
int 转移作用。
|
static int |
NONE
代表没有转移作用的一种
int 。
|
Modifier | Constructor and Description |
---|---|
protected |
TransferHandler()
子类的方便构造函数。
|
|
TransferHandler(String property)
构建了一个传输处理程序,java bean的属性从一个部分转移到另一个通过剪贴板和拖放操作。
|
Modifier and Type | Method and Description |
---|---|
boolean |
canImport(JComponent comp, DataFlavor[] transferFlavors)
指示是否在实际尝试导入之前,是否接受给定的数据导入组的导入。
|
boolean |
canImport(TransferHandler.TransferSupport support)
这种方法是反复拖放操作来允许开发者配置属性中调用,并返回传输的可接受性;有
true 表明了
TransferSupport 代表传递返回值(包含所有转会的细节)可以在当前时间,和一个值对
false 拒绝转移。
|
protected Transferable |
createTransferable(JComponent c)
创建一个
Transferable 作为数据传输的源。
|
void |
exportAsDrag(JComponent comp, InputEvent e, int action)
使摆动拖动支持启动。
|
protected void |
exportDone(JComponent source, Transferable data, int action)
已导出数据后调用。
|
void |
exportToClipboard(JComponent comp, Clipboard clip, int action)
导致给定组件的传输到给定的剪贴板。
|
static Action |
getCopyAction()
返回执行复制操作,复制到剪贴板
Action 。
|
static Action |
getCutAction()
返回执行切割操作剪贴板上的
Action 。
|
Image |
getDragImage()
返回拖动图像。
|
Point |
getDragImageOffset()
返回一个用于拖动图像的锚定偏移量。
|
static Action |
getPasteAction()
返回执行粘贴操作从剪贴板上的
Action 。
|
int |
getSourceActions(JComponent c)
返回转移行动的源类型支持;任何一位或组合
COPY ,
MOVE 和
LINK 。
|
Icon |
getVisualRepresentation(Transferable t)
返回一个建立传输外观的对象。
|
boolean |
importData(JComponent comp, Transferable t)
使转移到剪贴板或DND拖放操作的一个组成部分。
|
boolean |
importData(TransferHandler.TransferSupport support)
导致从剪贴板或拖放操作发生的传递。
|
void |
setDragImage(Image img)
设置拖动图像参数。
|
void |
setDragImageOffset(Point p)
为图像拖动设置一个锚定偏移量。
|
public static final int NONE
int
。
public static final int COPY
int
。此值用于将数据复制到剪贴板或在拖放操作中复制到其他地方时使用。
public static final int MOVE
int
转移作用。当数据被移动到剪贴板(即剪切)或在拖放操作中移动时,使用此值。
public static final int COPY_OR_MOVE
int
代表源行动能力“复制”或“移动”。
public static final int LINK
int
。此值用于指定在拖放操作中应链接的数据。
DnDConstants.ACTION_LINK
,
Constant Field Values
public TransferHandler(String property)
property
-转移财产的名称;这可以
null
如果没有与传输处理程序关联的属性(子类进行转换,另一种为例)
protected TransferHandler()
public static Action getCutAction()
Action
。演出时,这个动作操作的
ActionEvent
的
JComponent
源通过调用
exportToClipboard
,与
MOVE
行动,对组件的
TransferHandler
。
Action
public static Action getCopyAction()
Action
。演出时,这个动作操作的
ActionEvent
的
JComponent
源通过调用
exportToClipboard
,与
COPY
行动,对组件的
TransferHandler
。
Action
public static Action getPasteAction()
Action
。演出时,这个动作操作的
ActionEvent
的
JComponent
源通过调用
importData
,用剪贴板的内容,对组件的
TransferHandler
。
Action
public void setDragImage(Image img)
img
-图像拖动
public Image getDragImage()
null
。
public void setDragImageOffset(Point p)
null
。
p
-
Point
对象对应坐标锚的图像相对于图像的左上角的偏移量
public Point getDragImageOffset()
Point
对象对应坐标锚的图像相对于图像的左上角的偏移量。默认情况下,点
(0,0)
返回。
public void exportAsDrag(JComponent comp, InputEvent e, int action)
javax.swing.plaf.basic
包的各种用户界面实现如果dragenabled属性设置的组件。这可以通过自定义的用户界面实现来调用使用“秋千”拖动支持。这种方法也可以称为摆动延伸写成一个类
JComponent
利用摆动阻力支撑。
传输将不一定已完成在这个调用返回(即呼叫不阻止等待下降)。转让将通过对java.awt.dnd
机制Swing实现,要求开发商没有进一步的努力。的exportDone
方法将被调用,当传输完成。
comp
-元件保持要传送的数据;提供用于启用共享
TransferHandler
s
e
-触发转移的事件
action
最初请求的传递作用;要么
COPY
,
MOVE
或
LINK
;DND系统可能改变拖动操作过程中的作用
public void exportToClipboard(JComponent comp, Clipboard clip, int action) throws IllegalStateException
转让将使用java.awt.datatransfer
机制,需要从开发商没有进一步的努力。任何数据传输将完整的exportDone
方法将调用发生的行动,在该方法返回。如果剪贴板可尝试将它的数据时,被Clipboard.setContents(Transferable, ClipboardOwner)
的IllegalStateException
将通过这种方式繁殖。然而,exportDone
将首先被称为NONE
一致行动。
comp
-元件保持要传送的数据;提供用于启用共享
TransferHandler
s
clip
-剪贴板上的数据转换成
action
-转移行动的要求;这应该是一个值或
COPY
或
MOVE
;执行的操作是通过getsourceactions转移能力和所要求的行为给出了交叉口;交叉可能导致
NONE
行动如果不支持请求的动作
IllegalStateException
-如果剪贴板当前不可用
Clipboard.setContents(Transferable, ClipboardOwner)
public boolean importData(TransferHandler.TransferSupport support)
Transferable
和转移到组件都包含在
TransferSupport
当拖放实现调用canImport
以便在调用此方法之前确定一个转移的适宜性、糊的实施不。因此,它不能被假定的传递是可以接受的,当一个调用这个方法的粘贴。建议canImport
被明确称为覆盖情况。
注:本TransferSupport
对象传递给这个方法是唯一有效的方法调用的持续时间。它是未定义此方法返回后可能包含的值的值。
support
含转会的细节的对象,不
null
。
null
support
NullPointerException
canImport(TransferHandler.TransferSupport)
public boolean importData(JComponent comp, Transferable t)
Transferable
代表被导入组件的数据。
注:现在称importData
摆动以一TransferSupport
更新的版本,依次调用这个方法(如果在TransferSupport
组件是一个JComponent
)。鼓励开发人员调用和覆盖新版本,因为它提供了更多的信息(这是支持使用一个TransferHandler
直接设置在JFrame
或其他non-JComponent
唯一版本)。
comp
-接受转让的成分;使共享
TransferHandler
s
t
-导入数据
importData(TransferHandler.TransferSupport)
public boolean canImport(TransferHandler.TransferSupport support)
true
表明了
TransferSupport
代表传递返回值(包含所有转会的细节)可以在当前时间,和一个值对
false
拒绝转移。
对于在拖放过程中自动显示拖放位置的组件,默认情况下,接受传输,告诉它们显示拖放位置。这可以通过在TransferSupport
调用setShowDropLocation
改变。
默认情况下,当传输被接受时,所选择的拖放操作是由用户选择的,通过他们的拖动手势。开发者可以重写此选择不同的动作,从支持的源的行动,在TransferSupport
调用setDropAction
。
在每一个电话,canImport
,TransferSupport
含有新鲜的状态。因此,它必须设置在每一个调用上的任何属性。在下降,canImport
叫做最后一次调用importData
之前。任何国家在TransferSupport
在这最后一个电话就可以importData
。
此方法在响应粘贴操作时不被调用。因此,建议实现importData
显式调用此方法对于这样的情况,这种方法要准备好返回粘贴操作的适宜性。
注:本TransferSupport
对象传递给这个方法是唯一有效的方法调用的持续时间。它是未定义此方法返回后可能包含的值的值。
support
含转会的细节的对象,不
null
。
true
如果进口可能发生,
false
否则
null
support
NullPointerException
importData(TransferHandler.TransferSupport)
,
TransferHandler.TransferSupport.setShowDropLocation(boolean)
,
TransferHandler.TransferSupport.setDropAction(int)
public boolean canImport(JComponent comp, DataFlavor[] transferFlavors)
注:现在称canImport
摆动以一TransferSupport
更新的版本,依次调用这个方法(只有在TransferSupport
组件是一个JComponent
)。鼓励开发人员调用和覆盖新版本,因为它提供了更多的信息(这是支持使用一个TransferHandler
直接设置在JFrame
或其他non-JComponent
唯一版本)。
comp
-接受转让的成分;使共享
TransferHandler
s
transferFlavors
-数据格式
canImport(TransferHandler.TransferSupport)
public int getSourceActions(JComponent c)
COPY
,
MOVE
和
LINK
。
一些模型是不可变的,所以一个MOVE
转移操作不应该在这种情况下,广告。返回NONE
禁用传输组件。
c
-元件保持要传送的数据;提供用于启用共享
TransferHandler
s
COPY
如果转让财产可以发现,否则返回
NONE
public Icon getVisualRepresentation(Transferable t)
Icon
接口的实现不应改变图形剪辑或α水平。图标的实现不需要是矩形或绘制所有的边界矩形和逻辑,调用图标的油漆方法不应该假设所有的位画。
null
是这个方法有效的返回值,表示没有视觉表现提供。在这种情况下,调用逻辑是免费的,代表可转让的,但是它想要的。
默认展开逻辑不做一个alpha混合拖动画如果回报是null
。
t
要传送的数据;这个值将被
createTransferable
方法创建
null
,指示没有默认的视觉表现
protected Transferable createTransferable(JComponent c)
Transferable
作为数据传输的源。返回要传送的数据的表示,或
null
如果组件的属性是
null
c
-元件保持要传送的数据;提供用于启用共享
TransferHandler
s
null
如果与
c
财产
null
protected void exportDone(JComponent source, Transferable data, int action)
MOVE
传送的数据。
该方法的实现不MOVE
以来不支持行动的实施(getSourceActions
不包括MOVE
)。
source
-组件是数据源
data
,转移或null如果动作是
NONE
数据。
action
-实际行动进行
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.