如何从Javafx应用程序读取X11剪贴板?

 2023-02-16    366  

问题描述

我正在处理Javafx应用程序,我想通过X11环境中的中间鼠标按钮来支持粘贴文本.

有没有办法访问Java/javafx中X11剪贴板的内容?

如何从Javafx应用程序读取X11剪贴板?

推荐答案

访问X11选择剪贴板:

需要进口:

import sun.awt.X11.XClipboard;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.StringSelection;

代码:

XClipboard xClipboard = new XClipboard("Selection", "PRIMARY");
// Set value:
xClipboard.setContents(new StringSelection("Hello"), null);
// Read value:
String stored = xClipboard.getData(DataFlavor.stringFlavor).toString();

重要说明是值Selection和PRIMARY,就好像写:

clipboard = new XClipboard("System", "CLIPBOARD");

您将改为阅读系统剪贴板.

其他推荐答案

据此
https://bugs.openjdk.java.net/browse/JDK-8088117无法使用Javafx访问选择.

错误报告

在Suse11上使用Java8u45使用Javafx-8,不可能使用鼠标选择复制/粘贴或使用单击滚动.请参阅此处: javafx-mouse-clipboard-does-not-in-in-in-in-in-in-nix

答案

将优先级降低到P4.我注意到,这更像是一个未完成的功能,而不是错误(在FX中从未支持过).我们将查看JDK 9.
解决方法:使用复制/粘贴(ctrl-c/ctrl-v)

以上所述是小编给大家介绍的如何从Javafx应用程序读取X11剪贴板?,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!

原文链接:https://77isp.com/post/33964.html

=========================================

https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。