java.lang.Object
java.awt.datatransfer.Clipboard
实现使用剪切/复制/粘贴操作传输数据的类。
FlavorListener
可以在剪贴板类的实例上注册,以便通知有关此剪贴板上可用的DataFlavor
集合的更改(请参阅addFlavorListener(java.awt.datatransfer.FlavorListener)
)。
- 自版本:
- 1.1
- 另请参阅:
-
Field Summary
Modifier and TypeFieldDescriptionprotected Transferable
剪贴板的内容。protected ClipboardOwner
剪贴板的所有者。 -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addFlavorListener
(FlavorListener listener) 注册指定的FlavorListener
以接收来自此剪贴板的FlavorEvent
。返回一个DataFlavor
数组,其中包含此剪贴板当前内容可以提供的数据类型。getContents
(Object requestor) 返回表示剪贴板当前内容的可传输对象。getData
(DataFlavor flavor) 返回表示剪贴板当前内容的指定DataFlavor
的对象。返回当前在此Clipboard
上注册的所有FlavorListener
数组。getName()
返回此剪贴板对象的名称。boolean
isDataFlavorAvailable
(DataFlavor flavor) 返回当前内容是否可以以指定的DataFlavor
提供。void
removeFlavorListener
(FlavorListener listener) 删除指定的FlavorListener
,使其不再从此Clipboard
接收FlavorEvent
。void
setContents
(Transferable contents, ClipboardOwner owner) 将剪贴板的当前内容设置为指定的可传输对象,并将指定的剪贴板所有者注册为新内容的所有者。
-
Field Details
-
owner
剪贴板的所有者。 -
contents
剪贴板的内容。
-
-
Constructor Details
-
Clipboard
创建一个剪贴板对象。- 参数:
-
name
- 剪贴板的名称 - 另请参阅:
-
-
Method Details
-
getName
返回此剪贴板对象的名称。- 返回:
- 此剪贴板对象的名称
- 另请参阅:
-
setContents
将剪贴板的当前内容设置为指定的可传输对象,并将指定的剪贴板所有者注册为新内容的所有者。如果存在与参数
owner
不同的现有所有者,则通过在该所有者上调用ClipboardOwner.lostOwnership()
来通知该所有者不再持有剪贴板内容的所有权。setContents()
的实现可以选择不直接从此方法调用lostOwnership()
。例如,lostOwnership()
可能稍后在不同的线程上调用。对此剪贴板上注册的FlavorListener
也适用相同的情况。如果剪贴板当前不可用,则该方法会抛出
IllegalStateException
。例如,在某些平台上,当另一个应用程序访问系统剪贴板时,系统剪贴板不可用。- 参数:
-
contents
- 表示剪贴板内容的可传输对象 -
owner
- 拥有剪贴板内容的对象 - 抛出:
-
IllegalStateException
- 如果剪贴板当前不可用 - 另请参阅:
-
getContents
返回表示剪贴板当前内容的可传输对象。如果剪贴板当前没有内容,则返回null
。参数Object requestor目前未使用。如果剪贴板当前不可用,则该方法会抛出IllegalStateException
。例如,在某些平台上,当另一个应用程序访问系统剪贴板时,系统剪贴板不可用。- 参数:
-
requestor
- 请求剪贴数据的对象(未使用) - 返回:
- 剪贴板上的当前可传输对象
- 抛出:
-
IllegalStateException
- 如果剪贴板当前不可用 - 另请参阅:
-
getAvailableDataFlavors
返回一个DataFlavor
数组,其中包含此剪贴板当前内容可以提供的数据类型。如果没有可用的DataFlavor
,则此方法返回一个长度为零的数组。- 返回:
-
一个
DataFlavor
数组,其中包含此剪贴板当前内容可以提供的数据类型 - 抛出:
-
IllegalStateException
- 如果此剪贴板当前不可用 - 自版本:
- 1.5
-
isDataFlavorAvailable
返回当前内容是否可以以指定的DataFlavor
提供。- 参数:
-
flavor
- 请求内容的所需DataFlavor
- 返回:
-
如果当前内容可以以指定的
DataFlavor
提供,则返回true
;否则返回false
- 抛出:
-
NullPointerException
- 如果flavor
为null
-
IllegalStateException
- 如果此剪贴板当前不可用 - 自版本:
- 1.5
-
getData
返回表示剪贴板当前内容的指定DataFlavor
的对象。返回的对象类由flavor
的表示类定义。- 参数:
-
flavor
- 请求内容的所需DataFlavor
- 返回:
-
一个表示剪贴板当前内容的指定
DataFlavor
的对象 - 抛出:
-
NullPointerException
- 如果flavor
为null
-
IllegalStateException
- 如果此剪贴板当前不可用 -
UnsupportedFlavorException
- 如果请求的DataFlavor
不可用 -
IOException
- 如果无法检索请求的DataFlavor
中的数据 - 自版本:
- 1.5
- 另请参阅:
-
addFlavorListener
注册指定的FlavorListener
以接收来自此剪贴板的FlavorEvent
。如果listener
为null
,则不会抛出异常,也不会执行任何操作。- 参数:
-
listener
- 要添加的监听器 - 自版本:
- 1.5
- 另请参阅:
-
removeFlavorListener
删除指定的FlavorListener
,使其不再从此Clipboard
接收FlavorEvent
。如果先前未将参数指定的监听器添加到此Clipboard
中,则此方法不执行任何功能,也不会抛出异常。如果listener
为null
,则不会抛出异常,也不会执行任何操作。- 参数:
-
listener
- 要移除的监听器 - 自版本:
- 1.5
- 另请参阅:
-
getFlavorListeners
返回当前在此Clipboard
上注册的所有FlavorListener
数组。- 返回值:
-
返回此剪贴板的所有
FlavorListener
,如果当前没有注册任何监听器,则返回空数组 - 自版本:
- 1.5
- 参见:
-