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操作剪贴板知识点详解 #### 一、概述 在现代软件开发中,剪贴板操作是一项常用的功能,尤其在桌面应用中更是不可或缺的一部分。Java 提供了强大的 API 来支持这一功能,使得开发者能够轻松地实现复制、剪切...
在Java编程中,剪贴板(Clipboard)是一个用于在不同应用程序之间共享数据的系统级服务。这个服务允许我们将数据从一个程序复制,并在另一个程序中粘贴,类似于我们在操作系统级别进行的操作。Java提供了java.awt....
首先,我们需要引入`android.content.ClipboardManager`类,它是Android提供的用于操作剪贴板的接口。这个类提供了获取和设置剪贴板数据的方法,以及注册监听器以接收剪贴板内容变化的通知。 1. 获取剪贴板实例: ...
### Java剪贴板的使用详解 在日常的编程与应用开发中,剪贴板操作是一项基本但又极其实用的功能,尤其是在需要实现数据复制、粘贴等交互式操作时。Java平台提供了强大的剪贴板处理机制,允许开发者在应用程序中集成...
java操作系统剪贴板内容数据,供大家一起共同分享学习。
总之,Java剪贴板演示程序是一个很好的教学工具,它帮助开发者了解如何利用Java API进行剪贴板操作,这对于构建桌面应用程序或需要跨应用程序数据交换的项目尤其重要。通过分析和运行这个程序,可以加深对Java剪贴板...
首先,Java提供了`java.awt.Toolkit`和`java.awt.datatransfer.Clipboard`类来访问和操作剪贴板内容。`Toolkit.getDefaultToolkit()`方法可以获取到系统默认的工具包,而`Clipboard`对象则可以从中获取或设置剪贴板...
对于Web开发,JavaScript提供了`navigator.clipboard`接口来操作剪贴板,但需要注意的是,由于隐私和安全原因,这个接口通常需要用户交互(如点击事件)触发。以下是一个简单的例子: ```javascript async function...
在IT领域,多线程、进度条、读取txt文件、剪贴板操作以及键盘命令是常见的编程技术,尤其在创建高效、用户友好的应用程序时不可或缺。以下将详细阐述这些知识点: 1. **多线程**:多线程是并发执行多个任务的能力,...
然而,传统剪贴板存在一个无法忽视的缺陷——它一次只能存储一条信息,这意味着每次执行复制操作时,先前的剪贴内容就会被新内容覆盖。这在需要频繁切换复制内容的场景下显得尤为不便,降低了工作效率。为了突破这一...
2. **剪贴板监控**:这是一种持续观察剪贴板变化的技术,当剪贴板内容改变时,触发相应的操作,如启动搜索。 3. **搜索文件**:工具需要能够高效地遍历文件系统,找到与剪贴板内容匹配的文件。 4. **MSN提示窗口**...
Java提供了`java.awt.Toolkit`类和`java.awt.datatransfer.Clipboard`接口来处理剪贴板操作。你可以创建一个`Clipboard`对象,然后调用`getDataFlavor`和`getContents`方法来获取剪贴板上的数据。 5. **在...
在Linux中,通常通过X11的`Xlib`库来操作剪贴板。例如,`XOpenDisplay`打开显示器,`XSetSelectionOwner`设置剪贴板所有者,`XGetSelectionValue`获取剪贴板数据,`XCloseDisplay`关闭显示器。 4. **跨平台库和...
只要两个应用都操作同一个剪贴板,它们就可以共享数据。 **8. 安全和隐私考虑** 由于剪贴板数据可能包含敏感信息,如密码或个人数据,因此在使用剪贴板时,应确保正确管理和保护这些数据,避免未经用户同意就被...
电脑与android手机的剪贴板操作工具,java开发,支持所有系统,安装jdk,配置环境变量就行,使用超级简单方便
在Android操作系统中,剪贴板是应用程序之间共享数据的一个关键机制。它允许用户复制文本、图片、URI等信息,并在不同的应用中进行粘贴。Android的剪贴板功能由`android.content.ClipboardManager`类提供,是Android...
在Java中,我们可以通过`java.awt.Toolkit`类来访问和操作系统剪贴板。以下是利用Java剪贴板实现程序间数据交换的详细步骤和知识点: 1. **获取系统剪贴板实例**: 要与系统剪贴板交互,首先需要获取它的实例。这...
每种语言都有其特定的API或库来访问和操作剪贴板。 3. **事件驱动编程**:为了实时监控剪贴板的变化,程序需要实现事件驱动的编程模型。例如,在C#中,可以使用`System.Windows.Forms.Clipboard`类的事件,如`...
HarmonyOS作为一款面向全场景的分布式操作系统,提供了强大的剪贴板服务,使开发者能够轻松地在不同应用之间进行数据传递。本文将详细介绍如何在HarmonyOS应用中实现剪贴板功能,并提供具体的代码示例。 #### 二、...