当剪贴板内容在java之外发生变化时是否可以得到通知

2024-01-03

我想做的是,当用户在任何程序(firefox、记事本、pdfReader 等)中复制文本时,我已经运行的 java 应用程序将收到通知并立即显示弹出窗口。

我认为为了能够做到这一点,只要系统剪贴板发生更改,就应该调用我的java应用程序。

java 可以吗?如果可以的话,在哪个版本?我知道我们可以访问和操作系统剪贴板内容,但我的具体问题是关于调用 java 应用程序。当剪贴板内容发生变化时。

Thanks


我会天真地假装这是 JDIC 的工作,但 interwebz 告诉了我真相。那么,让我解释一下。

using Toolkit.getSystemClipboard() http://download.oracle.com/javase/1.5.0/docs/api/java/awt/Toolkit.html#getSystemClipboard(),您可以访问本机系统剪贴板。与任何 Java 对象一样,可以监听此剪贴板。具体来说,你可以打电话Clipboard.addFlavorListener(...) http://download.oracle.com/javase/1.5.0/docs/api/java/awt/datatransfer/Clipboard.html#addFlavorListener(java.awt.datatransfer.FlavorListener)FlavorEvents http://download.oracle.com/javase/1.5.0/docs/api/java/awt/datatransfer/FlavorEvent.html。这些是什么 ?他们是金属之王! http://en.wikipedia.org/wiki/Kings_of_Metal....不不不,我完全离题了。让我回来吧。因此,根据文档,FlavorEvent 表明

剪贴板(事件源)中的可用 DataFlavors 已更改。

Which may意味着剪贴板内容已更改。然而,如果没有第一个原型,我不会直接进行下去。

EDIT来自手指的原型示例AlexR https://stackoverflow.com/users/478399/alexr

import java.awt.Toolkit;
import java.awt.datatransfer.FlavorEvent;
import java.awt.datatransfer.FlavorListener;

public class Main {
    public static void main(String[] args) throws Exception { 
        Toolkit.getDefaultToolkit().getSystemClipboard().addFlavorListener(new FlavorListener() { 
            @Override 
            public void flavorsChanged(FlavorEvent e) { 
                System.out.println("changed!!! " + e.getSource() + " " + e.toString()); 
            } 
        }); 
        Thread.sleep(100000L); 
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当剪贴板内容在java之外发生变化时是否可以得到通知 的相关文章

  • 如果我在 JSP 中有 html 元素,那么执行顺序是什么?

    什么将执行第一个 body 元素或 head 元素 Head Body scriplet 如果我明白您的要求 JSP 文件中的每个元素都会按照代码从上到下出现的顺序进行处理
  • 如何处理java.util.concurrent.ExecutionException异常?

    我的代码的某些部分抛出 java util concurrent ExecutionException 异常 我该如何处理这个问题 我可以使用 throws 子句吗 我对java有点陌生 这取决于您的任务关键程度Future是为了如何处理它
  • 超立方体错误。非法的最小或最大规格

    尝试从这里运行示例代码http tess4j sourceforge net codesample html http tess4j sourceforge net codesample html我收到一条错误消息 Error Illega
  • 具有“繁忙”线程的 threadPoolExecutor 如何被终止?

    我的问题有点复杂 让我尝试彻底解释一下 但如果您需要更多详细信息 请随时询问我 我会添加它们 我最近 通过实验 了解到 如果线程连续工作 例如 while true 循环中的整数运算 则中断线程对其没有影响 话题继续进行 就像什么都没发生一
  • 检查 jar 是否从 shell 运行

    我有一个 java jar 程序 我试图在我的机器启动时运行它 理想情况下 shell 脚本将每 60 秒检查一次以确保 jar 正在运行 我如何检查 jar 是否在 centos 上运行 这似乎不起作用 我当前的 sh 文件 bin ba
  • 如何知道 Solr Optimize 何时完成?

    我正在使用 Solr php client 通过 php 与 Solr 进行通信 这段代码触发solr优化命令 solr gt optimize 请问有没有什么方法可以确定优化完成了 这都是因为我的网站上有一个管理页面 我每天必须手动优化
  • 测试正确的时区处理

    我们正在处理大量数据 所有数据均以 UTC Java 语言 标记 在读取这些数据 将其存储在数据库中以及再次将其取出之间 发生了一些数据在夏令时期间关闭一小时的情况 由于 UTC 没有夏令时的概念 这显然是软件中的一个错误 一旦知道 就很容
  • 使用java将文件从GCS存储桶传输到SFTP服务器

    我能够从 GCS 存储桶读取文件 但所有库都喜欢jsch将文件传输到 SFTP 服务器时会查找文件路径 而不是内存中的文件 我不想将从GCS读取的文件写入磁盘 如何将内存中的文件传输到SFTP 我假设您想上传内存中的数据 JSch 实际上有
  • HttpMediaTypeNotAcceptableException / HttpMediaTypeNotAcceptableException:找不到可接受的表示

    我有一个客户端正在尝试连接的 API 但是它会抛出错误 2015 09 22 04 21 44 297 org springframework web servlet mvc method annotation HttpEntityMeth
  • 公交车公共交通算法

    我正在开发一个可以查找公交路线的离线 C 应用程序 我可以提取时间表 巴士 路线数据 我正在寻找适用于基本数据的最简单的解决方案 可以使用什么算法来查找从巴士站 A 到巴士站 B 的路线 是否有适用于 C Java 的开源解决方案 数据库的
  • 清单合并失败:需要为 显式指定 android:exported

    我的清单文件有问题 错误消息 清单合并失败 android 需要为 明确指定导出 面向 Android 12 及更高版本的应用需要指定显式值android exported当相应的组件定义了意图过滤器时 有关详细信息 请参阅 https d
  • 如何删除 Spring 的 RestTemplate 添加的某些 HTTP 标头?

    我在远程服务方面遇到问题 我无法控制对使用 Spring 的 RestTemplate 发送的请求进行 HTTP 400 响应 使用发送的请求curl但被接受了 所以我将它们与通过 RestTemplate 发送的内容进行了比较 特别是 S
  • 从 Spring 启动运行 Java 类

    我使用的是Java8和Spring4 3 1 我有一个 Java Spring 应用程序托管由浏览器和移动应用程序客户端访问的 RESTfult 服务 其次 我编写了一个侦听事件的聊天服务器 socket io 来自客户 该聊天服务器正在从
  • 如何列出所有已加载的 Spring bean 定义文件

    在大型企业系统中 并不总是清楚在 ApplicationContext 构建期间导入了哪些文件 有没有办法列出过程中加载的所有文件 我知道如何列出加载的属性文件 但不知道导入的 bean 文件 更新示例 文件 1 applicationCo
  • Selenium 查看鼠标/指针

    有什么方法可以在运行测试时真正看到硒鼠标吗 要么是 Windows 光标图像 要么是某种点或十字线或任何东西 我正在尝试使用拖放功能selenium and java in an HTML5Web 应用程序 并且能够看到光标以了解它实际在做
  • 无法读取使用 DataOutputStream 发送的号码

    这是我的客户端代码 Random rand new Random int n rand nextInt 50 1 DataInputStream dis new DataInputStream socket getInputStream D
  • 当列表中不存在 X 时,从列表中查找大于 X 的值

    我试图从列表中查找大于特定值 在我的情况下已知 的值 Example Given list 1 2 5 10 15 list is sorted 查找大于的值X 7在这种情况下 期望的结果 返回一个包含值的列表 10 15 我尝试使用jav
  • SQL准备语句如何通过多个可能的菜单选择进行选择?

    所以我有 4 个菜单选择 产品 位置 课程类型和类别 所有这些都可以为空 使用 JSF 编程 但这应该与这个问题无关 因为它是一个 SQL 问题 菜单选择将向托管 bean 发送用户选择的变量 并使用准备好的语句使用用户选择的菜单中的信息
  • 尝试 Catch 性能 Java

    当捕获异常而不是进行检查时 try catch 需要多长时间 以纳秒为单位 假设消息具有用于查找的 HashMap 类型性能 try timestamp message getLongField MessageField TIMESTAMP
  • Mac 上的 JavaFX WebView 字体问题

    有些网站显示乱码而不是正确的文本 它只发生在 Mac 上 For example with GMapsFX 可能与 OS X 10 11 或 10 12 有关 我用Java 1 8 0 121测试了它 此问题有任何修复或解决方法吗 就我而言

随机推荐

  • 如何覆盖已经有 !important 的 CSS 背景?

    我试图用时尚覆盖网站的背景 但它不起作用 网站的背景 css 也有一个 important 并且它是压倒性的 我的代码 body background image none important background black import
  • 有没有办法在 grpc 服务器端设置超时?

    无法从服务器端使 grpc 连接超时 客户端可能建立连接但保持保持 睡眠状态 从而导致 grpc 服务器连接挂起 服务器端有没有办法在一定时间后断开连接或设置超时 我们尝试从客户端断开连接 但无法从服务器端执行此操作 在这个链接中gRPC
  • 如何强制命令行使用 PHP 版本?

    我由 1and1 com 托管 并且我已将我的文件设置为使用 php5 进行解析 htaccess 但这仅适用于 apache 而不适用于命令行 命令行默认为服务器默认 php4 所以目前我无法设置计划任务以 php5 运行我的代码 有任何
  • .htaccess - 递归地将斜杠映射到下划线

    G day 正如标题所示 我正在尝试将网址格式设置为 this is mah page strucutre到文件this is mah page structure php 现在 我已经可以工作了 只是我不知道结构的深度 因此我需要进行一些
  • Julia 中 @sync @async 的并行性

    我有一些繁重的 csv 表 我想与 sync sync 宏并行导入 对此不太熟悉 我尝试了以下方法 import files sync async begin df1 CSV File libname df1 csv gt DataFram
  • Javascript 中基于区域设置的排序,以预定义的方式对重音字母和其他变体进行排序

    在芬兰语中 我们排序W after V 如英语 但是因为W不是芬兰本土字母 它被认为是一个变体V 它被排序为等于V 但在两个词之间唯一的区别是V is W then V 版本首先排序 一个例子说明了正确的顺序 Vatanen Watanen
  • OWIN创业班

    有人可以告诉我 OWIN 启动类的确切作用吗 基本上我正在寻找什么 它的目的是什么 何时调用 仅调用一次或每次请求 这是配置我的依赖注入库的好地方吗 Owin 被设计为可插拔设计 您可以从配置中更改 替换一组服务 例如在以下配置中 我有 启
  • 如何在iPhone的phonegap应用程序中的javascript中读取sqlite3的数据

    我正在 iPhone 的phonegap 中开发一个应用程序 其中我有一个sqlite3 数据库 其中包含纬度和经度值以及相应的区域名称 我已在应用程序中复制了 sqlite 数据文件 我需要从sqlite中获取数据并将表中的数据显示在视图
  • 重载运算符<<以接受模板函数

    我试图能够使用函数编写可扩展语法 但似乎找不到接受模板函数的正确语法 我使用的是 Visual C 2008 它将接受与模板函数相同类型的变量或类似的非模板函数 但不接受模板函数本身 错误 1 错误 C2679 二进制 class Gram
  • 所有运行的单元测试都以代码 0 (0x0) 退出,甚至没有命中断点

    我正在运行 Visual Studio 2017 15 9 程序已成功构建 但每次我右键单击 调试测试 时 编译器都会退出并显示以下消息 程序 xxxxx testhost x86 exe 已退出 代码为 0 0x0 调试输出屏幕和测试输出
  • 使用不连续索引进行 pyomo 优化

    我正在使用 pyomo 在 python 中进行优化 我计划使用 t start t end 范围内的索引 现在 这些 t start 和 t end 值是 EV 的函数 使得 m pyo ConcreteModel m EV pyo Ra
  • AMQP/RabbitMQ - 顺序处理消息

    我有一个direct交换 还有一个队列与该交换器绑定 该队列有两个消费者 消费者完成相应的处理后 将手动确认消息 消息按逻辑顺序 排序 并且应按该顺序进行处理 是否可以强制要求消费者 A 和消费者 B 按顺序接收和处理所有消息 换句话说 阻
  • WIX 中的指南语法?

    为 WIX 的 wxs 文件中的组件提供 guid 的正确语法是什么 在我发现的大多数样本中 Guid 00AD2D6E BF8A 4EA8 BE9A 57380DECD0E6 但在一些样本中我发现 Guid 00AD2D6E BF8A 4
  • 在Python中根据标签将一个大的xml文件分割成多个

    我有一个非常大的 xml 文件 我需要根据特定标签将其拆分为多个文件 XML 文件是这样的
  • php 的 glob 函数返回路径名的顺序是什么?

    The 文档 https www php net globfor glob 没有提到它返回路径名数组的顺序 如果有 但是 它确实提到了一个允许您禁用排序的标志 GLOB NO排序 返回目录中出现的文件 无 排序 数组是如何排序的glob当当
  • 如何在 Symfony 2 中验证依赖于另一个属性的属性

    是否可以验证依赖于同一类的另一个属性的模型类的属性 例如 我有这样的课程 class Conference startDate datetime protected startDate endDate datetime protected
  • 无法构造“FormData”[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 当我在拖放区上传文件时 它不起作用 通常它工作得很好 但自 1 个月以来我遇到了这个 JS 错误 Uncaught TypeErr
  • 如何从 Rust 调用原始地址?

    我正在用 Rust 编写一个操作系统 需要直接调用我正在计算的虚拟地址 类型为u32 我预计这会相对简单 let code virtual address as extern C fn code 然而 这抱怨演员阵容不原始 它建议我使用Fr
  • Polymer Web Component Tester 无法连接到 selenium

    我在简单的 Polymer 2 x 应用程序模板上运行 Polymer Web Component Tester 并获得以下输出 hook prepare hook prepare selenium Starting Selenium se
  • 当剪贴板内容在java之外发生变化时是否可以得到通知

    我想做的是 当用户在任何程序 firefox 记事本 pdfReader 等 中复制文本时 我已经运行的 java 应用程序将收到通知并立即显示弹出窗口 我认为为了能够做到这一点 只要系统剪贴板发生更改 就应该调用我的java应用程序 ja