无法从 MAC OSX 上的后台 Java 应用程序复制到剪贴板
我们有 2 个 Java 应用程序在 MAC 上运行。一个后台应用程序将文本或图像发送到剪贴板,然后另一个应用程序抓取该数据并将其粘贴到其应用程序中。
当应用程序在剪贴板上复制某些内容时,我们会遇到这个问题,后台应用程序将无法更新剪贴板,直到它的 UI 变为活动状态。
有解决此剪贴板问题的方法吗?这适用于 Windows 和 Linux,似乎仅在 MAC 上有问题。
We have 2 java applications running on MAC. One background application sends either a text or image to a clipboard, then the other application grabs that data and paste it in its application.
We have this problem when the app copies something on the clipboard, the background app won't be able to update the clipboard until it's UI becomes active.
Is there work around with this clipboard issue? This works on Windows and Linux, it seems to be a problem only on MAC.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
不。
您正在做的事情通常被称为“进程间通信”。有多种策略可以实现这一目标。在两个 Java 应用程序的环境中,更“正确”的方法之一是使用 Java RMI< /a>.
像使用剪贴板那样以非标准的“hackish”方式进行操作会出现更多问题......因为您已经发现了困难的方法。
即使您确实设法让它运行,未来出现问题的可能性也很高。例如:想象一下 Windows 更新改变了剪贴板的行为——它会破坏 Windows 上的应用程序。
Don't.
What you are doing is generally referred to as "interprocess communication". There are various strategies to accomplish this. One of the more 'correct' approaches, in your cotext of two Java applications, would be to use Java RMI.
Doing it in a non-standard, "hackish" manner like you are with the clipboard is more problematic...as you have discovered the hard way.
Even if you did manage to get it running, the possibilities of problems in the future are high. E.g.: Imagine a Windows update changing the behavior of the clipboard--it would break your app on Windows.