我工作的JavaFX应用程序,我想支持通过鼠标中键粘贴文本在X11环境。
是否有访问X11剪贴板中的Java / JavaFX的内容的方式吗?
根据这一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)
要访问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");
你会读取系统剪贴板来代替。