DataFlavor.javaFileListFlavor和Mac OS X剪贴板

时间:2018-02-27 19:46:43

标签: java macos drag-and-drop copy-paste

我正在需要在Mac OS,Windows和Linux上运行的Java应用程序中实现拖放和复制/粘贴文件导出。我有一个处理DataFlavor.javaFileListFlavor的Transferable实现,到目前为止我已经成功地实现了拖放工作。

但我坚持复制/粘贴导出。在狩猎时,我找到了一个我认为可能有帮助的答案:https://stackoverflow.com/a/31798747

事实上,这适用于Windows,但不适用于我开发的Mac OS,我认为这就是问题,但我很难绕过它。

我还发现了一个我认为正在努力解决相同问题的人未提出问题,但我认为Mac OS Finder无法处理DataFlavor.javaFileListFlavor的结论并不完全正确:{{3} }

  1. 我可以拖放到Mac OS Finder,桌面或其他接受文件丢弃事件的应用程序中。很明显Mac OS 可以处理javaFileListFlavor
  2. 我也可以通过从Finder中复制粘贴到我的应用程序(通过处理javaFileListFlavor)从系统剪贴板导入,所以很明显剪贴板提供了Java可以解释为javaFileListFlavor的东西。
  3. 我设置了一个断点并查看了ClipboardTransferable.getTransferDataFlavors()javaFileListFlavor以及其他一些风格,但我不知道该如何继续。
  4. 我怀疑我需要提供不同风格的处理,以允许剪贴板处理来自Java的文件。但我不知道那种味道会是什么,或者如何解决这个问题。

0 个答案:

没有答案