首页 > 其他分享 >粘贴板同步功能

粘贴板同步功能

时间:2023-01-28 14:57:02浏览次数:37  
标签:功能 同步 String 粘贴板 剪贴板 springframework import trans public


package com.company.app.controller;


import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import java.awt.*;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.StringSelection;
import java.awt.datatransfer.Transferable;


@RestController
public class DemoController {



    @GetMapping(value = "/get",produces = {"application/json; charset=UTF-8"})
    public String get() {
        return getClipboardString();
    }

    @GetMapping("/set")
    public String get(String value) {
         setClipboardString(value);
         return "ok:"+getClipboardString();
    }

    /**
     * 从剪贴板中获取文本(粘贴)
     */
    public static String getClipboardString() {
        // 获取系统剪贴板
        Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();

        // 获取剪贴板中的内容
        Transferable trans = clipboard.getContents(null);

        if (trans != null) {
            // 判断剪贴板中的内容是否支持文本
            if (trans.isDataFlavorSupported(DataFlavor.stringFlavor)) {
                try {
                    // 获取剪贴板中的文本内容
                    String text = (String) trans.getTransferData(DataFlavor.stringFlavor);
                    return text;
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }

        return null;
    }

    /**
     * 把文本设置到剪贴板(复制)
     */
    public static void setClipboardString(String text) {
        // 获取系统剪贴板
        Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
        // 封装文本内容
        Transferable trans = new StringSelection(text);
        // 把文本内容设置到系统剪贴板
        clipboard.setContents(trans, null);
    }

    public static void main(String[] args) {
        String clipboardString = getClipboardString();
        System.out.println(clipboardString);
    }

}
 

 

package com.company.app;


import org.springframework.boot.WebApplicationType;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;

@SpringBootApplication
public class Application {

    public static void main(String[] args) {
//        SpringApplication.run(Application.class, args);
        SpringApplicationBuilder builder = new SpringApplicationBuilder(Application.class);
        builder.headless(false).web(WebApplicationType.SERVLET).run(args);

    }
}

 

标签:功能,同步,String,粘贴板,剪贴板,springframework,import,trans,public
From: https://www.cnblogs.com/zhangshiwen/p/17070294.html

相关文章

  • Dynamics 365 PDF功能
    前言关于PDF功能,好像老版本的CRM仅支持指定实体启用(本人没有用过老版本的CRM,入行以来实施的都是v9的了),现在新版本的CRM已经支持自定义实体启用PDF功能。使用该功能需要的......
  • Unity中的网络同步解决方案
    网络同步的解决方案有三种:状态同步、帧同步、实时广播同步,实际使用中可以混合使用。网络同步概览知名游戏中的同步方案类型游戏名同步方案MMORPG魔兽世界状态同步+实时广播......
  • 为什么看上去很简单的智慧功能点要价上千万?
    人工智能(ArtificialIntelligence,AI)已经不是什么新概念,第三次浪潮于2016年AlphaGo战胜李世石为标志正式开启,至今也已经走过6个年头。发展至今,AI已经进入老百姓的日常生活,比......
  • OpenMP 线程同步 Construct 实现原理以及源码分析(上)
    OpenMP线程同步Construct实现原理以及源码分析(上)前言在本篇文章当中主要给大家介绍在OpenMP当中使用的一些同步的construct的实现原理,如master,single,critica......
  • [vsCode]Visual Studio Code环境变量不同步
    很奇怪的事情,在设置好Path环境变量后,powershell正常了,  但是vscode不正常   解决方法竟然是:确认{在PowerShell运行正常}后,关闭{vsCode},进入{管理员模式的Powe......
  • 操作系统的概念、功能和目标
    操作系统的概念、功能和目标操作系统的概念(定义)操作系统(OperatingSystem,OS)是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配......
  • 这6款功能强大、堪称良心的手机浏览器,还有谁不知道
    很多朋友在手机端用过Safari浏览器、UC浏览器以及QQ浏览器,除了这些主流的手机浏览器,大家还用过哪些比较好用的浏览器呢?今天给大家推荐6款小巧好用、功能强大,性能稳定,实用功......
  • SQL Server 增量数据同步
    今天就说说 SQLServer增量数据同步。当公司的业务数据量越来越多的时候,数据分析部门总想用来做报表,或者提炼出有用的运营数据。通常,相关负责人希望将各个业务系统、各种......
  • 使用GTID同步RDS到自建mysql
    使用GTID同步RDS到自建mysql这篇博客应该是我春节结束前关于工作上的最后一篇博客。。。在我上家公司里,经常做mysql传统方式下的主从同步,面试题也经常考。而......
  • 上交自瞄算法开源代码-装甲板识别功能分析
    前言开源代码github网址:GitHub-xinyang-go/SJTU-RM-CV-2019:上海交通大学RoboMaster2019赛季视觉代码这里着重分析主函数main.cpp与装甲板识别部分的工程文件armer......