package com.zzstxx.barcode.utils;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.StringSelection;
import java.awt.datatransfer.Transferable;
import java.awt.datatransfer.UnsupportedFlavorException;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
/**
* java 复制到剪切板
* @author Administrator
*
*/
public class CutBanUtils {
/**
* 复制String到剪切板
*
* @param writeMe
*/
protected static void setClipboardText(String writeMe) {
Clipboard sysc = Toolkit.getDefaultToolkit().getSystemClipboard();
Transferable tText = new StringSelection(writeMe);
sysc.setContents(tText, null);
}
/**
* 赋值图像到剪切板
* @param image
*/
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);
}
/**
* 读取图片地址,把图片写入图片缓冲区
* @param imagePath
* @return
* @throws IOException
*/
public static BufferedImage readImage(String imagePath) throws IOException{
File f = new File(imagePath);
BufferedImage bi = ImageIO.read(f);
return bi;
}
/**
* 方法一:把图片读入缓冲区后复制到剪切板
* @param imagePath
*/
public static void copyCut(String imagePath){
BufferedImage image = null;
try {
image = CutBanUtils.readImage(imagePath);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
CutBanUtils.setClipboardImage(image);
}
/**
* 方法二:一般图像没问题,如果是二维条码的话,建议使用方法一
* @param filePath
*/
public static void copyCutByToolkit(String filePath){
Image image = Toolkit.getDefaultToolkit().getImage(filePath);
CutBanUtils.setClipboardImage(image);
}
public static void main(String[] args) {
//CutBanUtils.setClipboardText("周旭锋");
CutBanUtils.copyCutByToolkit("e:/1.jpg");
//CutBanUtils.copyCut("e://1.jpg");
}
}
分享到:
相关推荐
这个程序首先将字符串`"这是要复制到剪贴板的文本"`设置为剪贴板内容。如果你想读取剪贴板内容,可以取消注释相关代码。 5. **多线程与剪贴板** 剪贴板操作可能会涉及多个线程,因此需要确保在进行剪贴板操作时...
在Java编程中,将图片复制到剪贴板是一项常见的任务,尤其在开发图形用户界面(GUI)应用时。本文将详细讲解如何实现这个功能,并结合给出的“qrcode_swing”这一标签,我们可以推断这是一个关于Swing组件库中处理...
java截取屏幕内容并将图片复制到剪切板
在提供的部分代码片段中,我们可以看到如何在事件驱动的环境中操作剪贴板,例如在文本编辑器中处理复制、剪切和粘贴事件。 1. **复制操作**: ```java String temp = text.getSelectedText(); StringSelection ...
它充当了一个临时存储区,当用户执行“复制”或“剪切”操作时,所选的数据会被放置到剪贴板上;随后,通过“粘贴”操作可以从剪贴板上获取这些数据。剪贴板支持多种类型的数据,如文本、图像、文件路径等。 #### ...
Java剪贴板演示程序是基于Java编程语言设计的一个实用示例,主要目的是向开发者展示如何在Java中实现复制和粘贴的功能。这个程序允许用户监控剪贴板的实时状态,并通过点击界面按钮来执行常见的复制和粘贴操作。在...
Java截屏保存系统剪切板是一项实用的技术,它允许用户通过编程方式截取屏幕快照,并将该图像存储到系统剪贴板中,以便于后续的复制和粘贴操作。这项技术主要基于Java的标准版(Java SE)环境,利用了Java的AWT和...
这需要实现`java.awt.datatransfer.FlavorTarget`接口并注册到剪贴板上,以便在数据交换时进行适当的转换。 在实际应用中,`JClipboardDemo`这样的程序通常会包含一个完整的示例,展示如何创建一个简单的GUI,用户...
在IT领域,尤其是在Web开发中,"复制到剪切板"功能是用户界面的一个常见需求。这个功能允许用户轻松地将文本、图片或其他数据从网页中复制到他们的系统剪贴板,以便稍后粘贴使用。标题"复制到剪切板(浏览器兼容)...
摘要:Java源码,系统相关,剪贴板 Java利用剪贴板交换程序间数据,这个例实现了Java 程序与所在系统的剪贴板的数据交流,,当单击“Paste” ...当单击“Copy”按钮后,文本区中的选中文本将被传送到系统剪贴板上。
例如,调用`ClipboardUtil.copyToClipboard(this, "这是要复制的文本")`可以将文本复制到剪切板,而`ClipboardUtil.getTextFromClipboard(this)`则会返回当前剪切板中的文本。 需要注意的是,iOS和Android剪切板的...
在Android开发中,复制文本内容到系统剪贴板是一项常见的操作。这通常涉及到对Android的ClipboardManager类的使用,这是一个系统服务,允许应用程序存储和检索数据,如文本、图像等。接下来,我们将深入探讨如何在...
这些资源可以帮助开发者理解如何使用编程语言(如C++、Python或Java)来创建剪切板监控系统,并实现内容的修改功能。通过学习和分析这些代码,我们可以掌握剪切板API的使用方法,以及如何根据需求定制剪切板监控策略...
浏览器内容复制到系统剪贴板的脚本,支持 Chrome 42+、Firefox 41+、IE 9+、Opera 29+;
通过阅读和分析代码,可以学习到如何在多线程环境中使用剪切板API,以及如何实现线程间的同步和通信。对于经验丰富的开发者,这个程序也可以作为一个测试平台,用于验证和优化多线程设计和优化策略。 总之,"基于...
- 复制文本到剪切板: ```java ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); ClipData clip = ClipData.newPlainText("label", "Hello, HarmonyOS!"); ...
剪贴板操作通常包括复制、剪切、粘贴和清除,它们都是通过操作系统提供的API(应用程序接口)来实现的。 2. **Windows平台下的剪贴板操作** 在Windows系统中,我们可以使用Win32 API来访问剪贴板。例如,在C++中,...
例如,复制文本到剪切板: ```java Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard(); StringSelection selection = new StringSelection("Copied Text"); clipboard.setContents...
要将数据复制到剪贴板,可以创建一个`ClipData.Item`对象,然后使用`addClipData()`方法添加到剪贴板。例如,复制文本: ```java String textToCopy = "这是要复制的文本"; ClipData clip = ClipData.newPlainText...
本主题将深入探讨如何在Unity中调用Android和iOS的剪贴板功能,这对于游戏内分享文本信息、保存用户数据或者在不同应用间传递信息等场景非常有用。 首先,我们来看Android平台。Android系统提供了ClipboardManager...