`

Java访问剪贴板

    博客分类:
  • Java
 
阅读更多
以下共有4个函数分别是:
1.从剪切板获得文字。
2.将字符串复制到剪切板。
3.从剪切板获得图片。
4.复制图片到剪切板。
Java代码  收藏代码

    
        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代码  收藏代码

    
        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编程中,剪贴板操作是一个非常实用的功能,它允许程序之间共享数据,比如文本、图片等。本文将深入探讨如何使用Java API来实现剪贴板操作,并通过一个简单的示例程序`ClipBoardTest.java`来阐述核心概念。 ...

    Java操作剪贴板.txt

    1. **Clipboard**:表示系统的剪贴板,用于存储临时数据,这些数据可以被其他应用程序访问。 2. **ClipboardOwner**:这是一个接口,用于定义剪贴板所有者的行为。当剪贴板内容发生改变时,所有者将被通知。 3. **...

    Java 利用剪贴板交换程序间数据

    Java提供了java.awt.Toolkit和java.awt.datatransfer.Clipboard两个类来实现对剪贴板的访问和管理。在"Java 利用剪贴板交换程序间数据"这个主题中,我们将深入探讨如何使用Java来实现这一功能。 首先,`java.awt....

    Java剪贴板的使用

    `Toolkit`类提供了访问系统工具箱的服务,`Clipboard`类用于表示剪贴板,而`StringSelection`类则用于创建包含文本数据的可传输对象。 2. **定义`setClipbordContents`方法**:该方法接收一个字符串参数`contents`...

    Java 剪贴板 数据交换的例子.rar

    Java 剪贴板 数据交换的例子,实现了Java 程序与所在系统的剪贴板的数据交流,,当单击“Paste” ,按钮后,Java 程序从系统剪贴板中取得数据并显示在一个JTextArea 组件中;当单击“Copy”按钮后,文本区中的选中...

    Java监听Windows剪贴板com.zip

    首先,Java提供了`java.awt.Toolkit`和`java.awt.datatransfer.Clipboard`类来访问和操作剪贴板内容。`Toolkit.getDefaultToolkit()`方法可以获取到系统默认的工具包,而`Clipboard`对象则可以从中获取或设置剪贴板...

    参考文档检索工具,通过监控剪贴板查找打开参考文件

    1. **剪贴板访问**:这是工具的基础功能,用于获取剪贴板上的文本信息,以便作为搜索文件名的关键词。 2. **剪贴板监控**:这是一种持续观察剪贴板变化的技术,当剪贴板内容改变时,触发相应的操作,如启动搜索。 ...

    剪贴板数据 获取 源程序 代码

    在Windows系统中,我们可以使用Win32 API来访问剪贴板。例如,在C++中,可以使用`OpenClipboard`、`GetClipboardData`和`CloseClipboard`函数来获取剪贴板上的数据。对于文本数据,可以使用`CF_TEXT`格式;对于其他...

    剪贴板代码

    在Android开发中,我们可以使用`android.content.ClipboardManager`类来访问剪贴板。以下是一个简单的例子: ```java import android.content.ClipboardManager; import android.content.Context; public class ...

    Ruby-ClipboardRuby访问WindowsLinuxmacOSJava和Cygwin中剪贴板

    总结起来,`Clipboard`库为Ruby开发者提供了一种跨平台的方式来访问剪贴板,无论是在Windows、Linux、macOS还是Java和Cygwin环境中。通过这个库,你可以方便地进行文本的复制和粘贴,提高了代码的可移植性和开发效率...

    剪贴板字母符号模拟按键发出java

    java全局键盘监听 后台键盘监听 模拟按键 键盘键号查询 剪切板访问 学习研究 附件是一个完整的项目可以直接在eclipse中打开 一时之作 无开发文档 谅解 欢迎沟通 heying876@163.com

    Android开发之ClipboardManager剪贴板功能示例

    由于剪贴板数据可能包含敏感信息,如密码或个人数据,因此在使用剪贴板时,应确保正确管理和保护这些数据,避免未经用户同意就被其他应用访问。 总之,`ClipboardManager`是Android开发中一个方便的工具,它简化了...

    计算机软件-商业源码-203 使用剪贴板.zip

    在Objective-C或Swift中,可以使用`NSPasteboard`类来访问剪贴板。例如,`string(forType:)`用于获取字符串类型的剪贴板内容,`setObject(_:forType:)`用于设置剪贴板内容。 3. **Linux剪贴板操作**: 在Linux中...

    Android剪贴板

    自Android 6.0(API级别23)起,访问剪贴板需要申请`Manifest.permission.READ_CLIP_DATA`和`Manifest.permission.WRITE_CLIP_DATA`权限。在运行时,应检查并请求这些权限,以确保应用能够正确使用剪贴板。 **注意...

    HarmonyOS应用开发-剪贴板功能实现.docx

    2. **安全性考虑**:由于剪贴板数据可能会被其他应用访问,因此对于敏感数据的传递需要格外小心。 3. **用户体验**:合理利用剪贴板功能可以提升应用的用户体验,但频繁请求剪贴板数据可能会对性能造成一定影响。 #...

    Java利用剪贴板实现交换程序间数据的方法

    在Java中,我们可以通过`java.awt.Toolkit`类来访问和操作系统剪贴板。以下是利用Java剪贴板实现程序间数据交换的详细步骤和知识点: 1. **获取系统剪贴板实例**: 要与系统剪贴板交互,首先需要获取它的实例。这...

    剪贴板:Ruby访问Windows,Linux,macOS,Java,Cygwin和WSL上的剪贴板:clipboard:︎

    剪贴板Ruby宝石 使您可以从任何地方访问剪贴板。 当前支持的平台: Linux 苹果系统视窗Cygwin(Windows的POSIX环境) WSL(Linux的Windows子系统) Gtk +(跨平台小工具工具包) Java(在JRuby上) 支持的Ruby:3.0...

    计算机软件-商业源码-实例080-监视剪贴板.zip

    每种语言都有其特定的API或库来访问和操作剪贴板。 3. **事件驱动编程**:为了实时监控剪贴板的变化,程序需要实现事件驱动的编程模型。例如,在C#中,可以使用`System.Windows.Forms.Clipboard`类的事件,如`...

    局域网内Android与PC平台剪贴板同步功能的实现.pdf

    在PC端,可以使用Python的PyQt库或者其他类似库来访问剪贴板,因为这些库提供了操作剪贴板的功能。 实现这一功能需要考虑多个方面,包括网络连接的稳定性、数据加密以确保安全、以及剪贴板内容的格式转换,因为...

    WPF 推荐一个剪贴板内容查看工具.rar

    WPF提供了一套API来访问和管理剪贴板内容,包括复制、粘贴、清除等功能。 3. **C# 语言:** 作为.NET Framework的主要编程语言,C#在WPF开发中被广泛使用。开发者可以通过C#的语法和特性来编写WPF应用的后台逻辑和...

Global site tag (gtag.js) - Google Analytics