Tag: droptarget

Java拖放OS X报告移动而不是复制

更新/状态:错误报告给Oracle,目前仍处于打开/未解决状态: https : //bugs.openjdk.java.net/browse/JDK-8054325 我发现了一个奇怪的错误,它只能在OS X上的Java 7和8上显示,而不是在Java 6中,在Java 7 Windows上都没有。 下面是提取的bug尽可能多地删除不需要的代码。 它给我们留下了一个小桌子和一个按钮,我们可以从按钮顶部的桌子上拖动单元格。 在我们的生产代码中,我们使用的是带有COPY_OR_MOVE作为源操作的TransferHandler 。 我们有两个目标,一个DropTarget接受为MOVE ,另一个接受为COPY 。 似乎在OS X上JDK / JRE被破坏了,因为如果DropTarget接受为COPY它在TranferHandler报告的是MOVE 。 如果我们在Java 6(或Windows上的Java 7)上执行下面的代码,它会报告( 按预期 ): not move is copy 但是当我们在OS X Java 7或Java 8上执行它时,我们得到以下结果: is move not copy 我已经测试并向Oracle报告了这个问题(错误报告仍在审理中)。 但是,由于这将需要(loooong)同时得到修复,也许这里有人知道如何制作一个“干净”的解决方法? 我宁愿没有链接到原始组件的放置目标告诉它实际操作(复制或移动),这个声音过于复杂。 import java.awt.datatransfer.StringSelection; import java.awt.datatransfer.Transferable; import java.awt.dnd.DnDConstants; import java.awt.dnd.DropTarget; import java.awt.dnd.DropTargetAdapter; import java.awt.dnd.DropTargetDropEvent; […]