Clipboard类中的两个方法:setContents(Transferable t, ClipboardOwner owner)
中的owner参数起什么作用的?
我把这个参数设为null为何也可运行?
getContents(Object requestor)
中的requestor参数起什么作用的?
我把这个参数设为null为何也可运行?不理解以上两个参数的作用!
还有,
getTransferData()方法为什么一定要放到try当中?
请大侠指点!谢谢!

解决方案 »

  1.   

    getTransferData()方法为什么一定要放到try当中? 以下是这个方法的API
    getTransferData
    Object getTransferData(DataFlavor flavor)
                           throws UnsupportedFlavorException,
                                  IOException返回一个对象,该对象表示将要被传输的数据。返回对象的类是由该 flavor 的表示类定义的。 参数:
    flavor - 请求的数据 flavor 
    抛出: 
    IOException - 如果使用请求的 flavor 时数据不再可用。 
    UnsupportedFlavorException - 如果不支持请求的数据 flavor。因为它可以抛出异常,所以必须捕捉
      

  2.   

    getContents(Object requestor) API上说目前没有使用这个参数,所以写THIS或者写NULL都可以。这个参数是不使用的。
      

  3.   

    ClipboardOwner owner  这里这个owner是剪切板的所有者。你要在这里传入this(传NULL可能也行),方法执行成功后,剪切板就暂时成为你这个程序的了。真到其它程序(比如WORD)又去调用它,它就改变了。这时会通知你用lostOwnership(Clipboard clipboard, Transferable contents)  这个方法