Java拖放图像并在拖动时显示图像缩略图

我有一个带有图像节点的网格布局,我想在我的应用程序中添加dndfunction,例如当我将图像节点拖放到目标时,JPanel会做一些操作,例如以原始大小显示,删除等等。我已经实现了这与使用transferhandler和DropTargets,DragSource等的方法有关。但我有两个问题,我想与你讨论它们。

a)两种方式中哪一种更好用? 据我所知,第二种方式给了我比TransferHandler更多的function,第一种方法最简单易用。 但我可以通过这两种方式完成我的工作,有两种更有效,或者更重要的是我喜欢编码。

b)当拖动发生时,我想在光标附近显示图像。 我做的第一个是使用JFrame的glassPane并创建一个JCompoment,它绘制正确的图像并跟随光标。我可以这样做吗? 在此之后,我在文档中看到DragSource的startDrag方法获取了一个dragImage参数,这是我想要的原因,我尝试传递一个Image,但是我看不到任何结果。

————– UPDATE ———————

对于第二个问题(b)我尝试使用玻璃板但我在java DND和我的听众之间的互通方面存在问题,以便在玻璃板上显示图像拇指。 每次只有其中一个正常工作。

! 更具体地说,当我已经调用startDrag()方法时,不会触发mouseDragged事件

感谢您的时间。

解决了

最后,我自己找到了解决方案。

如果有人有同样的问题我说的重点是,在startDrag()方法触发后,所有mouseDraged事件都转到dragMouseMoved()(来自DragSourceMotionListener),我犯了错误,使用了“void mouseDragged(MouseEvent e)”来自MouseMotionListener。