`

java操作剪贴板

    博客分类:
  • JAVA
阅读更多
package swt.test;

import java.awt.*;
import java.awt.datatransfer.*;
import java.io.*;

public class ClipBoardTest {

public static void main(String[] args) {
String s = "abc\tedf\njhf";
setClipboard(s);
System.out.println(getClipboard());

}

// If a string is on the system clipboard, this method returns it;
// otherwise it returns null.
public static String getClipboard() {
Transferable t = Toolkit.getDefaultToolkit().getSystemClipboard()
.getContents(null);

try {
if (t != null && t.isDataFlavorSupported(DataFlavor.stringFlavor)) {
String text = (String) t
.getTransferData(DataFlavor.stringFlavor);
return text;
}
} catch (UnsupportedFlavorException e) {
} catch (IOException e) {
}
return null;
}

// This method writes a string to the system clipboard.
// otherwise it returns null.
public static void setClipboard(String str) {
StringSelection ss = new StringSelection(str);
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(ss, null);
}

// deal with image
// Getting and Setting an Image on the System Clipboard
// If an image is on the system clipboard, this method returns it;
// otherwise it returns null.
public static Image getImageClipboard() {
Transferable t = Toolkit.getDefaultToolkit().getSystemClipboard()
.getContents(null);

try {
if (t != null && t.isDataFlavorSupported(DataFlavor.imageFlavor)) {
Image image = (Image) t.getTransferData(DataFlavor.imageFlavor);
return image;
}
} catch (UnsupportedFlavorException e) {
} catch (IOException e) {
}
return null;
}

// Setting an image on the system clipboard requires a custom Transferable
// object to hold the image while on the clipboard.
// This method writes a image to the system clipboard.
// otherwise it returns null.
public static void setImageClipboard(Image image) {
ImageSelection imgSel = new ImageSelection(image);
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(imgSel,
null);
}

// This class is used to hold an image while on the clipboard.
public static class ImageSelection implements Transferable {
private Image image;

public ImageSelection(Image image) {
this.image = image;
}

// Returns supported flavors
public DataFlavor[] getTransferDataFlavors() {
return new DataFlavor[] { DataFlavor.imageFlavor };
}

// Returns true if flavor is supported
public boolean isDataFlavorSupported(DataFlavor flavor) {
return DataFlavor.imageFlavor.equals(flavor);
}

// Returns image
public Object getTransferData(DataFlavor flavor)
throws UnsupportedFlavorException, IOException {
if (!DataFlavor.imageFlavor.equals(flavor)) {
throw new UnsupportedFlavorException(flavor);
}
return image;
}
}
}
分享到:
评论

相关推荐

    Java操作剪贴板.txt

    Java操作剪贴板.txtJava操作剪贴板.txt

    java操作系统剪贴板内容数据

    java操作系统剪贴板内容数据,供大家一起共同分享学习。

    电脑与android手机的剪贴板操作工具,java开发,支持所有系统,安装jdk,配置环境变量就行,使用超级简单方便

    电脑与android手机的剪贴板操作工具,java开发,支持所有系统,安装jdk,配置环境变量就行,使用超级简单方便

    jclipboardhelper:Java中剪贴板相关操作的小助手库

    用于处理Java中系统剪贴板的帮助程序库。 玛文 您可以在pom.xml使用以下依赖项: < groupId>com.github.fracpete</ groupId> < artifactId>jclipboardhelper < version>0.1.2 支持的格式 复制到剪贴板 java....

    IsciTrimmer:操纵操作系统剪贴板的Java App。 删除空格,破折号等,并使所有字符变为大写

    操纵操作系统剪贴板的Java App。 删除空格/破折号/句号等并使所有字符变为大写 这是用于将ISCI从多个来源和格式复制并粘贴到统一输出中。 现在将线程版本移动到存档文件夹,更新为仅使用基于按钮的功能。 V1.113...

    jclasslib.rar_Java 8_java8 下载_java字节码查看工具;_jclasslib.jar_允许修改Jav

    3、“字段”和“方法”的详细面板现在具有“复制到剪贴板”按钮将所有签名复制到系统剪贴板。 4、在字节码显示的底部,现在有一个下拉列表,其中包含所有使用的操作码和一个按钮,以显示Java语言规范中相应的官方...

    qt编写的系统剪贴板监听小工具.zip

    软件开发设计:PHP、QT、应用软件开发、系统软件开发、移动应用开发、网站开发C++、Java、python、web、C#等语言的项目开发与学习资料 硬件与设备:单片机、EDA、proteus、RTOS、包括计算机硬件、服务器、网络设备、...

    [js]javascript与剪贴板交互

    1.怎样操作剪贴板,从而实现复制、剪切与粘贴?同时判断剪贴板里边的数据是否是文本? if (!IsClipboardFormatAvailable(CF_TEXT)) return; if (!OpenClipboard(hwndMain)) return; hglb = GetClipboardData...

    javajava图形与图像处理.pptx

    Clip类是Java语言中的剪贴板类,提供了设置剪贴板的方法,如setClip()方法。 Java图形与图像处理技术提供了强大的图形和图像处理功能,涵盖了图形的描绘、数字图像处理、Java 3D基础等多个方面。

    疯狂JAVA讲义

    第1章 Java概述 1 1.1 Java语言的发展简史 2 1.2 Java的竞争对手及各自优势 4 1.2.1 C#简介和优势 4 1.2.2 Ruby简介和优势 4 1.2.3 Python的简介和优势 5 ...11.9 剪贴板 432 11.9.1 数据传递的类...

    Java+AW+Swing.rar_java 2 swing_java awt_java swing_swing_swing j

    Java 2 图形设计卷1 AWT Java 2 图形设计卷2 SWING 主要内容包括同位体、轻量构件、剪贴板与数据传输、颜色、无鼠标操作、打印、布局管理器、国际化、串行化、滚动性,字体与字号以及AWT,swing中的各种构件

    如何进行JavaGUI图形用户界面编程.doc

    数据传送类,可以通过本地平台的剪贴板来进行剪切和粘贴。 然而,AWT 也存在一些缺点: * 在原生的用户界面之上仅提供了一个非常薄的抽象层。 * 生成一个 AWT 的复选框会导致 AWT 直接调用下层原生例程来生成一个...

    用Java写的报表.

    剪贴板功能。支持文本方式和全格式两种方式。剪贴也允许在两个应用之间进行。可以从EXCELL单元格中复制到本应用中。 14.单元格线,滚动条,行头,列头显示可选. 15.支持公式定义,公式定义采用?作标记,如?sum(A1:B1...

    swing和swt

    AWT的初始版本是基于在简单用户界面中开发小applet程序而设计的,与之相比,当前的AWT做了很大的改进,它提供事件模型重新设计、剪贴板和数据传输支持以及打印和无鼠标操作等功能。从而与Parc Place的VisualWork或...

    java 编程入门思考

    13.17.3 剪贴板 13.18 可视编程和Beans 13.18.1 什么是Bean 13.18.2 用Introspector提取BeanInfo 13.18.3 一个更复杂的Bean 13.18.4 Bean的封装 13.18.5 更复杂的Bean支持 13.18.6 Bean更多的知识 13.19 Swing入门 ...

    Java版计算器

    缺少剪贴板、打印支持等;不支持双缓冲。 <2>Swing构件都是AWT的Cotainer类的直接或间接子类。AWT是Swing的基础,Swing是AWT的扩展。Swing构件均以“J”开头,Swing是扩展AWT后得到的轻量级构件,不依赖于操作...

    Java初学者入门教学

    13.17.3 剪贴板 13.18 可视编程和Beans 13.18.1 什么是Bean 13.18.2 用Introspector提取BeanInfo 13.18.3 一个更复杂的Bean 13.18.4 Bean的封装 13.18.5 更复杂的Bean支持 13.18.6 Bean更多的知识 13.19 Swing入门 ...

    ClipboardPlusPlus:ClipboardPlusPlus 是一个应用程序,用于维护剪贴板历史记录并仅通过复制和粘贴操作跨设备同步它们

    ClipboardPlusPlus 是一个应用程序,用于维护剪贴板历史记录并仅通过复制和粘贴操作跨设备同步它们。 该应用程序使用 AWS 资源和 Google Cloud Messaging Service 来实现其目的。 用户必须为他的每台设备安装特定于...

Global site tag (gtag.js) - Google Analytics