剪切板分为:系统剪切板和本地剪切板
同一个虚拟机的不同窗口之间进行数据传递,则使用本地剪切板就可以了。
如果需要在不同虚拟机之间传递数据,或则java程序与第三方程序之间传递数据,那就需要使用系统剪切板。
重要的类和接口:
Clipboard:代表剪切板实例,既可以是系统剪切板也可以是本地剪切板
ClipboardOwner:剪切板内容的所有者接口,当剪切板内容的所有权被修改时,系统将会被触发该所有责的lostOwnership事件处理器
Transferable:该接口的实例代表放进剪切板中的传输对象
DataFlavor:用于表述剪切板的数据格式
StringSelection:Transferable的实现类,用于传输文本字符串
FlavorListener:数据格式监听器接口
FlavorEvent:该类的实例封装了数据格式改变的事件
创建系统剪切板:
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
创建本地剪切板:
Clipboard clipboard = new Clipboard(cb);