2015-05-04 59 views
2

在Unix中,正如您所知,通常使用鼠標進行復制粘貼操作。即文本選擇自動將其複製到剪貼板並且單擊滾動將其粘貼到您單擊的位置。JavaFX:鼠標剪貼板在Unix中不起作用

對於使用Java 7和Swing的GUI應用程序,我沒有剪貼板問題。

但JavaFX的與Java 8(更新45),鼠標剪貼板不起作用,因此:

  • 我無法通過單擊滾動
  • 我不能複製任何粘貼任何文本的GUI來自GUI的文本只需選擇它

我遇到此問題TextInputDialogTextArea。到目前爲止,我還沒有嘗試其他小部件。

你能告訴我們如何啓用鼠標剪貼板嗎?

截圖:

TextInputDialogScreenshot http://oi59.tinypic.com/smr49c.jpg

TextAreaScreenshot http://oi57.tinypic.com/1zwzvyp.jpg

+0

相關問題:[如何從JavaFX應用程序讀取X11剪貼板?](https://stackoverflow.com/q/21844255/873282) – koppor

回答

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並設置文本中有

0

在當下有一個與JDK做到這一點沒有受支持的方法。
此處列出的缺陷/功能請求
[OpenJDK錯誤報告:https://bugs.openjdk.java.net/browse/JDK-8088117]
現在它反向鏈接到此SO條目。

@ user4231709對不起,您的解決方案不能解決問題,因爲它使用不同的系統剪貼板。 欲瞭解更多信息,請查看「sun.awt.X11.XSelection」。

關於此主題還有另外SO條目。