如何通过Java代码实现访问并操作系统的剪切板功能(复制、粘贴)?

2026-04-30 08:112阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计399个文字,预计阅读时间需要2分钟。

如何通过Java代码实现访问并操作系统的剪切板功能(复制、粘贴)?

以下是对原文的简化

以下4个函数分别实现:

1.从剪切板获取文字。

2.将字符串复制到剪切板。

3.从剪切板获取图片。

如何通过Java代码实现访问并操作系统的剪切板功能(复制、粘贴)?

4.将图片复制到剪切板。

示例代码:

public static String getSysClipboardText() { // 实现从剪切板获取文字}

以下共有4个函数分别是:

1.从剪切板获得文字。
2.将字符串复制到剪切板。
3.从剪切板获得图片。
4.复制图片到剪切板。

/** * 从剪切板获得文字。 */ public static String getSysClipboardText() { String ret = ""; Clipboard sysClip = Toolkit.getDefaultToolkit().getSystemClipboard(); // 获取剪切板中的内容 Transferable clipTf = sysClip.getContents(null); if (clipTf != null) { // 检查内容是否是文本类型 if (clipTf.isDataFlavorSupported(DataFlavor.stringFlavor)) { try { ret = (String) clipTf .getTransferData(DataFlavor.stringFlavor); } catch (Exception e) { e.printStackTrace(); } } } return ret; } /** * 将字符串复制到剪切板。 */ public static void setSysClipboardText(String writeMe) { Clipboard clip = Toolkit.getDefaultToolkit().getSystemClipboard(); Transferable tText = new StringSelection(writeMe); clip.setContents(tText, null); } /** * 从剪切板获得图片。 */ public static Image getImageFromClipboard() throws Exception { Clipboard sysc = Toolkit.getDefaultToolkit().getSystemClipboard(); Transferable cc = sysc.getContents(null); if (cc == null) return null; else if (cc.isDataFlavorSupported(DataFlavor.imageFlavor)) return (Image) cc.getTransferData(DataFlavor.imageFlavor); return null; } /** * 复制图片到剪切板。 */ public static void setClipboardImage(final Image image) { Transferable trans = new Transferable() { public DataFlavor[] getTransferDataFlavors() { return new DataFlavor[] { DataFlavor.imageFlavor }; } public boolean isDataFlavorSupported(DataFlavor flavor) { return DataFlavor.imageFlavor.equals(flavor); } public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException, IOException { if (isDataFlavorSupported(flavor)) return image; throw new UnsupportedFlavorException(flavor); } }; Toolkit.getDefaultToolkit().getSystemClipboard().setContents(trans, null); }

以上就是Java 访问剪切板(复制,粘贴)的示例的详细内容,更多关于java 剪切板的资料请关注易盾网络其它相关文章!

标签:示例以下

本文共计399个文字,预计阅读时间需要2分钟。

如何通过Java代码实现访问并操作系统的剪切板功能(复制、粘贴)?

以下是对原文的简化

以下4个函数分别实现:

1.从剪切板获取文字。

2.将字符串复制到剪切板。

3.从剪切板获取图片。

如何通过Java代码实现访问并操作系统的剪切板功能(复制、粘贴)?

4.将图片复制到剪切板。

示例代码:

public static String getSysClipboardText() { // 实现从剪切板获取文字}

以下共有4个函数分别是:

1.从剪切板获得文字。
2.将字符串复制到剪切板。
3.从剪切板获得图片。
4.复制图片到剪切板。

/** * 从剪切板获得文字。 */ public static String getSysClipboardText() { String ret = ""; Clipboard sysClip = Toolkit.getDefaultToolkit().getSystemClipboard(); // 获取剪切板中的内容 Transferable clipTf = sysClip.getContents(null); if (clipTf != null) { // 检查内容是否是文本类型 if (clipTf.isDataFlavorSupported(DataFlavor.stringFlavor)) { try { ret = (String) clipTf .getTransferData(DataFlavor.stringFlavor); } catch (Exception e) { e.printStackTrace(); } } } return ret; } /** * 将字符串复制到剪切板。 */ public static void setSysClipboardText(String writeMe) { Clipboard clip = Toolkit.getDefaultToolkit().getSystemClipboard(); Transferable tText = new StringSelection(writeMe); clip.setContents(tText, null); } /** * 从剪切板获得图片。 */ public static Image getImageFromClipboard() throws Exception { Clipboard sysc = Toolkit.getDefaultToolkit().getSystemClipboard(); Transferable cc = sysc.getContents(null); if (cc == null) return null; else if (cc.isDataFlavorSupported(DataFlavor.imageFlavor)) return (Image) cc.getTransferData(DataFlavor.imageFlavor); return null; } /** * 复制图片到剪切板。 */ public static void setClipboardImage(final Image image) { Transferable trans = new Transferable() { public DataFlavor[] getTransferDataFlavors() { return new DataFlavor[] { DataFlavor.imageFlavor }; } public boolean isDataFlavorSupported(DataFlavor flavor) { return DataFlavor.imageFlavor.equals(flavor); } public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException, IOException { if (isDataFlavorSupported(flavor)) return image; throw new UnsupportedFlavorException(flavor); } }; Toolkit.getDefaultToolkit().getSystemClipboard().setContents(trans, null); }

以上就是Java 访问剪切板(复制,粘贴)的示例的详细内容,更多关于java 剪切板的资料请关注易盾网络其它相关文章!

标签:示例以下