我怎样才能读取JavaFX应用程序的X11剪贴板?

问题描述 投票:3回答:2

我工作的JavaFX应用程序,我想支持通过鼠标中键粘贴文本在X11环境。

是否有访问X11剪贴板中的Java / JavaFX的内容的方式吗?

java javafx clipboard x11
2个回答
1
投票

根据这一https://bugs.openjdk.java.net/browse/JDK-8088117没有办法使用JavaFX访问的选择。

错误报告

在SUSE11使用JavaFX的8 Java8u45,存在使用鼠标选择或使用滚动点击没有可能复制/粘贴。查看详情这里:http://stackoverflow.com/questions/30032290/javafx-mouse-clipboard-does-not-work-in-unix

回答

降低优先P4。我注意到,这是一个多错误未实现的功能(它从来没有在FX被支持)。我们将看看它JDK 9.解决方法:使用复制/粘贴(CTRL-C / CTRL-V)


1
投票

要访问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();

在重要的一点是价值观SelectionPRIMARY,因为如果你写:

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

你会读取系统剪贴板来代替。

© www.soinside.com 2019 - 2024. All rights reserved.