java.lang.Object java.awt.datatransfer.Clipboard
public class Clipboard
此类实现一种使用剪切/复制/粘贴操作传输数据的机制。
FlavorListener
可以在 Clipboard 类的实例上注册,以接收对此剪贴板上可用的 DataFlavor
的集合更改的通知(参见 addFlavorListener(java.awt.datatransfer.FlavorListener)
)。
字段摘要 | |
---|---|
protected Transferable |
contents |
protected ClipboardOwner |
owner |
构造方法摘要 | |
---|---|
Clipboard(String name) 创建剪贴板对象。 |
方法摘要 | |
---|---|
void |
addFlavorListener(FlavorListener listener) 注册指定的 FlavorListener ,以从此剪贴板接收 FlavorEvent 。 |
DataFlavor[] |
getAvailableDataFlavors() 返回 DataFlavor 的数组,其中提供了此剪贴板的当前内容。 |
Transferable |
getContents(Object requestor) 返回表示剪贴板当前内容的 transferable 对象。 |
Object |
getData(DataFlavor flavor) 返回一个对象,表示此剪贴板中指定 DataFlavor 类型的当前内容。 |
FlavorListener[] |
getFlavorListeners() 返回一组目前在此 Clipboard 上注册的所有 FlavorListener 。 |
String |
getName() 返回此剪贴板对象的名称。 |
boolean |
isDataFlavorAvailable(DataFlavor flavor) 返回是否能够以指定的 DataFlavor 形式提供此剪贴板的当前内容。 |
void |
removeFlavorListener(FlavorListener listener) 移除指定的 FlavorListener ,使其不再从此 Clipboard 接收 FlavorEvent 。 |
void |
setContents(Transferable contents, ClipboardOwner owner) 将剪贴板的当前内容设置到指定的 transferable 对象,并将指定的剪贴板所有者作为新内容的所有者注册。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
字段详细信息 |
---|
protected ClipboardOwner owner
protected Transferable contents
构造方法详细信息 |
---|
public Clipboard(String name)
方法详细信息 |
---|
public String getName()
public void setContents(Transferable contents, ClipboardOwner owner)
如果现有的所有者与参数 owner
不同,则该所有者将得到通知,它已不再保持剪贴板内容的所有关系,此操作是通过对该所有者调用 ClipboardOwner.lostOwnership()
完成的。setContents()
的实现可以不直接从此方法调用 lostOwnership()
。例如,可以稍后在另一个线程上调用 lostOwnership()
。在此剪贴板上注册的 FlavorListener
也是如此。
如果剪贴板当前不可用,则该方法抛出 IllegalStateException
。例如,在某些平台上,系统剪贴板在被别的应用程序访问时是不可用的。
contents
- 表示剪贴板内容的 transferable 对象
owner
- 拥有剪贴板内容的对象
IllegalStateException
- 如果剪贴板当前不可用
Toolkit.getSystemClipboard()
public Transferable getContents(Object requestor)
null
。目前没有使用参数 Object requestor。如果剪贴板当前不可用,则该方法抛出
IllegalStateException
。例如,在某些平台上,系统剪贴板在被别的应用程序访问时是不可用的。
requestor
- 请求剪切数据(不使用)的对象
IllegalStateException
- 如果剪贴板当前不可用
Toolkit.getSystemClipboard()
public DataFlavor[] getAvailableDataFlavors()
DataFlavor
的数组,其中提供了此剪贴板的当前内容。如果不存在任何可用的
DataFlavor
,则此方法返回一个长度为零的数组。
DataFlavor
,在其中可以提供此剪贴板的当前内容
IllegalStateException
- 如果此剪贴板当前不可用
public boolean isDataFlavorAvailable(DataFlavor flavor)
DataFlavor
形式提供此剪贴板的当前内容。
flavor
- 为该内容请求的
DataFlavor
DataFlavor
中提供此剪贴板的当前内容,则返回
true
;否则返回
false
NullPointerException
- 如果
flavor
为
null
IllegalStateException
- 如果此剪贴板当前不可用
public Object getData(DataFlavor flavor) throws UnsupportedFlavorException, IOException
DataFlavor
类型的当前内容。返回对象的类是由
flavor
的表示形式类定义的。
flavor
- 为该内容请求的
DataFlavor
DataFlavor
中此剪贴板的当前内容
NullPointerException
- 如果
flavor
为
null
IllegalStateException
- 如果此剪贴板目前不可用
UnsupportedFlavorException
- 如果请求的
DataFlavor
不可用
IOException
- 如果无法检索请求的
DataFlavor
中的数据
DataFlavor.getRepresentationClass()
public void addFlavorListener(FlavorListener listener)
FlavorListener
,以从此剪贴板接收
FlavorEvent
。如果
listener
为
null
,则不会抛出异常并且不执行操作。
listener
- 要添加的侦听器
removeFlavorListener(java.awt.datatransfer.FlavorListener)
,
getFlavorListeners()
,
FlavorListener
,
FlavorEvent
public void removeFlavorListener(FlavorListener listener)
FlavorListener
,使其不再从此
Clipboard
接收
FlavorEvent
。如果参数所指定的侦听器尚未添加到此
Clipboard
,则此方法不起作用,也不抛出异常。如果
listener
为
null
,则不会抛出异常并且不执行操作。
listener
- 要移除的侦听器
addFlavorListener(java.awt.datatransfer.FlavorListener)
,
getFlavorListeners()
,
FlavorListener
,
FlavorEvent
public FlavorListener[] getFlavorListeners()
Clipboard
上注册的所有
FlavorListener
。
FlavorListener
,如果目前没有注册侦听器,则返回一个空数组
addFlavorListener(java.awt.datatransfer.FlavorListener)
,
removeFlavorListener(java.awt.datatransfer.FlavorListener)
,
FlavorListener
,
FlavorEvent