Class Clipboard

java.lang.Object
java.awt.datatransfer.Clipboard

public class Clipboard extends Object
实现使用剪切/复制/粘贴操作传输数据的类。

FlavorListener可以在剪贴板类的实例上注册,以便通知有关此剪贴板上可用的DataFlavor集合的更改(请参阅addFlavorListener(java.awt.datatransfer.FlavorListener))。

自版本:
1.1
另请参阅:
  • Field Details

    • owner

      protected ClipboardOwner owner
      剪贴板的所有者。
    • contents

      protected Transferable contents
      剪贴板的内容。
  • Constructor Details

  • Method Details

    • getName

      public String getName()
      返回此剪贴板对象的名称。
      返回:
      此剪贴板对象的名称
      另请参阅:
    • setContents

      public void setContents(Transferable contents, ClipboardOwner owner)
      将剪贴板的当前内容设置为指定的可传输对象,并将指定的剪贴板所有者注册为新内容的所有者。

      如果存在与参数owner不同的现有所有者,则通过在该所有者上调用ClipboardOwner.lostOwnership()来通知该所有者不再持有剪贴板内容的所有权。 setContents()的实现可以选择不直接从此方法调用lostOwnership()。例如,lostOwnership()可能稍后在不同的线程上调用。对此剪贴板上注册的FlavorListener也适用相同的情况。

      如果剪贴板当前不可用,则该方法会抛出IllegalStateException。例如,在某些平台上,当另一个应用程序访问系统剪贴板时,系统剪贴板不可用。

      参数:
      contents - 表示剪贴板内容的可传输对象
      owner - 拥有剪贴板内容的对象
      抛出:
      IllegalStateException - 如果剪贴板当前不可用
      另请参阅:
    • getContents

      public Transferable getContents(Object requestor)
      返回表示剪贴板当前内容的可传输对象。如果剪贴板当前没有内容,则返回null。参数Object requestor目前未使用。如果剪贴板当前不可用,则该方法会抛出IllegalStateException。例如,在某些平台上,当另一个应用程序访问系统剪贴板时,系统剪贴板不可用。
      参数:
      requestor - 请求剪贴数据的对象(未使用)
      返回:
      剪贴板上的当前可传输对象
      抛出:
      IllegalStateException - 如果剪贴板当前不可用
      另请参阅:
    • getAvailableDataFlavors

      public DataFlavor[] getAvailableDataFlavors()
      返回一个DataFlavor数组,其中包含此剪贴板当前内容可以提供的数据类型。如果没有可用的DataFlavor,则此方法返回一个长度为零的数组。
      返回:
      一个DataFlavor数组,其中包含此剪贴板当前内容可以提供的数据类型
      抛出:
      IllegalStateException - 如果此剪贴板当前不可用
      自版本:
      1.5
    • isDataFlavorAvailable

      public boolean isDataFlavorAvailable(DataFlavor flavor)
      返回当前内容是否可以以指定的DataFlavor提供。
      参数:
      flavor - 请求内容的所需DataFlavor
      返回:
      如果当前内容可以以指定的DataFlavor提供,则返回true;否则返回false
      抛出:
      NullPointerException - 如果flavornull
      IllegalStateException - 如果此剪贴板当前不可用
      自版本:
      1.5
    • getData

      public Object getData(DataFlavor flavor) throws UnsupportedFlavorException, IOException
      返回表示剪贴板当前内容的指定DataFlavor的对象。返回的对象类由flavor的表示类定义。
      参数:
      flavor - 请求内容的所需DataFlavor
      返回:
      一个表示剪贴板当前内容的指定DataFlavor的对象
      抛出:
      NullPointerException - 如果flavornull
      IllegalStateException - 如果此剪贴板当前不可用
      UnsupportedFlavorException - 如果请求的DataFlavor不可用
      IOException - 如果无法检索请求的DataFlavor中的数据
      自版本:
      1.5
      另请参阅:
    • addFlavorListener

      public void addFlavorListener(FlavorListener listener)
      注册指定的FlavorListener以接收来自此剪贴板的FlavorEvent。如果listenernull,则不会抛出异常,也不会执行任何操作。
      参数:
      listener - 要添加的监听器
      自版本:
      1.5
      另请参阅:
    • removeFlavorListener

      public void removeFlavorListener(FlavorListener listener)
      删除指定的FlavorListener,使其不再从此Clipboard接收FlavorEvent。如果先前未将参数指定的监听器添加到此Clipboard中,则此方法不执行任何功能,也不会抛出异常。如果listenernull,则不会抛出异常,也不会执行任何操作。
      参数:
      listener - 要移除的监听器
      自版本:
      1.5
      另请参阅:
    • getFlavorListeners

      public FlavorListener[] getFlavorListeners()
      返回当前在此Clipboard上注册的所有FlavorListener数组。
      返回值:
      返回此剪贴板的所有FlavorListener,如果当前没有注册任何监听器,则返回空数组
      自版本:
      1.5
      参见: