Java AWT 剪贴板工具类, 支持复制图片、文件等内容到剪贴板
用法
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
clipboard.setContents(XTransferableAdaptor.of("HelloWorld", DataFlavor.stringFlavor), null);
工具类如下
/**
* awt 剪贴板的工具类, 弥补了内置类型不全的问题
*
* @param data 要往剪贴板内塞的数据
* @param flavors 支持的数据类型
*/
public record XTransferableAdaptor(@Nonnull Object data, @Nonnull DataFlavor[] flavors) implements Transferable {
public static XTransferableAdaptor of(Object data, DataFlavor... flavors) {
return new XTransferableAdaptor(data, flavors);
}
@Override
public DataFlavor[] getTransferDataFlavors() {
return flavors;
}
@Override
public boolean isDataFlavorSupported(DataFlavor flavor) {
return Set.of(flavors).contains(flavor);
}
@Nonnull
@Override
public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException, IOException {
if (isDataFlavorSupported(flavor)) {
return data;
}
throw new UnsupportedFlavorException(flavor);
}
}
本文作者:博麗靈夢
本文链接:https://www.cnblogs.com/Hakurei-Reimu-Zh/p/18656293
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步