【问题标题】:Java Drag and Drop an Image and Show the image thumbnail while draggingJava拖放图像并在拖动时显示图像缩略图
【发布时间】: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


    【解决方案1】:

    已解决

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多