【发布时间】:2010-11-27 10:06:41
【问题描述】:
我有一个带有图像节点的网格布局,我想在我的应用程序中添加 dnd 功能,例如,当我将图像节点拖放到目标 JPanel 时,进行一些操作,例如以原始大小显示、删除等。我已经实现了这一点,一种是使用 transferhandler,另一种是使用 DropTargets、DragSource 等。但是我有两个问题,我想和你讨论一下。
a)这两种方法中哪一种更好用?我知道第二种方式比 TransferHandler 提供了更多的功能,而第一种方式使用起来最简单。但是我可以通过这两种方式来完成我的工作,其中两种方式更有效,或者这完全取决于我更喜欢编码的方式。
b)当拖动发生时,我想在光标附近显示一个图像。我做的第一个是使用 JFrame 的 glassPane 并创建一个 JCompoment 来绘制正确的图像并跟随光标。我可以用这种方式制作吗?在此之后,我在文档中看到 DragSource 的 startDrag 方法获取了一个 dragImage 参数,这是我想要的原因,我尝试传递一个 Image 但我没有看到任何结果。
-------------更新---------
对于第二个问题 (b),我尝试使用玻璃窗格,但我在 java DND 和我的听众之间的交互工作中遇到问题,以便在玻璃窗格中显示图像拇指。每次只有其中一个正常工作。
!!! 更具体地说,当我已经调用 startDrag() 方法时,mouseDragged 事件没有触发
感谢您的宝贵时间。
【问题讨论】:
标签: java swing drag-and-drop