拖放图像

我需要在swing中创建一个拖放系统,拖动过程中被拖动的东西的图像会附加到光标上。 从理论上讲,这是可以实现的

public Icon TransferHandler.getVisualRepresentation(Transferable t) 

但似乎有一个长期存在的错误( 这里 ),这意味着永远不会调用此方法。 我知道我可以通过使用DragSource等实现我自己的DnD系统来做到这一点,但是有没有人知道更简单的工作环境能够得到我需要的东西吗?

java 1.4中不支持TransferHandler.getVisualRepresentation方法,我不确定它是否或何时修复。 要测试它是否在当前版本中工作,您可以调整此示例

最后我用旧式拖放来实现我想要的东西。 但是我没有理由认为abrightwell的解决方案也不会起作用 – 这只是当时最好的方式。

您可以尝试将图像放在Jlabel(在draggesture识别器中)并在droptargetListener dragover方法中设置其边界。 或者,关于实现鼠标监听器的方法(我没有测试过后一种方法)。

我已经在您列出的错误报告的底部使用了“解决方法”。 它对我来说运作得很好。 当然,我在Mac OS X上使用它,所以我不知道Winderz是否会支持它。 如果他们至少将它修复为像他们想要的那样工作并简单地记录它将在哪里工作并且将无法正常工作……那就太好了。 祝好运。