【问题标题】:JavaFX: Mouse clipboard does not work in UnixJavaFX:鼠标剪贴板在 Unix 中不起作用
【发布时间】:2015-05-04 14:10:48
【问题描述】:

在 Unix 中,您可能知道,通常使用鼠标进行复制粘贴操作。 IE。 文本选择会自动将其复制到剪贴板,然后单击滚动条将其粘贴到您单击的位置。

我在使用带有 Swing 的 Java 7 的 GUI 应用程序中没有剪贴板问题。

但是在 JavaFX 和 Java 8(更新 45)中,鼠标剪贴板不起作用,所以:

  • 我无法通过单击滚动将任何文本粘贴到 GUI
  • 我无法通过选择 GUI 来复制任何文本

我在TextInputDialogTextArea 中遇到了这个问题。到目前为止我还没有尝试过其他小部件。

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

截图:

【问题讨论】:

标签: java javafx-8 clipboard


【解决方案1】:

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

@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);
    }

这是一个上下文菜单项的事件监听器。

基本上你必须控制上下文菜单,然后获取SystemClipboard 并在其中设置文本

【讨论】:

    【解决方案2】:

    目前不支持使用 JDK 执行此操作的方法。
    此处列出了错误/功能请求
    [OpenJDK 错误报告:https://bugs.openjdk.java.net/browse/JDK-8088117]
    它现在反向链接到这个 SO 条目。

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

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

    【讨论】:

      猜你喜欢
      • 2022-11-10
      • 2022-10-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多