JavaFX:鼠标剪贴板在Unix中不起作用

JavaFX:鼠标剪贴板在Unix中不起作用,java,javafx-8,clipboard,Java,Javafx 8,Clipboard,您可能知道,在Unix中,使用鼠标进行复制粘贴操作是很常见的。也就是说,文本选择自动将其复制到剪贴板,并单击滚动将其粘贴到单击的位置 使用Java7和Swing的GUI应用程序没有剪贴板问题 但在JavaFX with Java 8(更新45)中,鼠标剪贴板不起作用,因此: 我无法通过单击滚动条将任何文本粘贴到GUI 我无法仅通过选择从GUI复制任何文本 我在TextInputDialog和TextArea中遇到了这个问题。到目前为止,我还没有尝试过其他小部件 您能告诉我如何启用鼠标剪贴板吗

您可能知道,在Unix中,使用鼠标进行复制粘贴操作是很常见的。也就是说,文本选择自动将其复制到剪贴板,并单击滚动将其粘贴到单击的位置

使用Java7和Swing的GUI应用程序没有剪贴板问题

但在JavaFX with Java 8(更新45)中,鼠标剪贴板不起作用,因此:

  • 我无法通过单击滚动条将任何文本粘贴到GUI
  • 我无法仅通过选择从GUI复制任何文本
我在
TextInputDialog
TextArea
中遇到了这个问题。到目前为止,我还没有尝试过其他小部件

您能告诉我如何启用鼠标剪贴板吗

屏幕截图:


您好,我想帮助您编写自己的代码,但我没有看到任何代码,因此我有一个我做过的示例

@FXML
    private void handleButtonAction21(ActionEvent event) throws IOException {
            ObservableList<Part> rowList = table2.getSelectionModel().getSelectedItems();

            final ClipboardContent content = new ClipboardContent();

            content.putString(rowList.get(0).getPartNumber());
            Clipboard.getSystemClipboard().setContent(content);
    }
@FXML
私有void handleButtonAction21(ActionEvent事件)引发IOException{
ObservableList行列表=表2.getSelectionModel().getSelectedItems();
最终剪贴簿内容=新剪贴簿内容();
content.putString(rowList.get(0.getPartNumber());
Clipboard.getSystemClipboard().setContent(content);
}
这是上下文菜单项的事件侦听器


基本上,您必须控制上下文菜单,然后获取
SystemClipboard
并在其中设置文本,因为JDK不支持这样做。
此处列出了错误/功能请求
[OpenJDK错误报告:
它现在反向链接到此SO条目

@user4231709抱歉,您的解决方案无法解决此问题,因为它使用的是不同的系统剪贴板。 要进一步阅读,请查看“sun.awt.X11.XSelection”

还有一个关于此主题的条目。

相关问题: