如何使文件可以从JPanel中删除?

时间:2012-07-24 17:07:03

标签: java swing file drag-and-drop jpanel

我正在尝试制作一个允许用户将文件拖到窗口上的程序,然后它会在删除它们的位置绘制它们的图标/名称。我有工作。我唯一的问题是我希望用户能够将文件拖离它(它将在中间执行某些操作)。因此,他们可以继续拖动一堆文件,然后将它们关闭(我也希望它看起来像它应该,如下图)。我相信如果你把一个文件追踪器中的一个项目拖出来,它会做我想做的事情,我只是不确定他们是怎么做的。

以下是我将文件拖到面板上的示例: http://gyazo.com/66910f1a4065b2a4111ede192bbd3028.png?1343149174

我希望能够做同样的事情,但拖延它。有谁知道怎么做这个?我正在使用DragAndDrop监听器来检测用户何时将文件拖到其上,我认为我应该能够排序相反,将我的文件放到拖放处理程序上。

谢谢:)

1 个答案:

答案 0 :(得分:0)

不久前想出来了,我想我会在这里为任何想要它的人发布答案;我必须创建自己的扩展JLabel的类(我使用JLabel来显示图标),它实现了Transferable,DragSourceListener和DragGestureListener,并且当然会覆盖所需的方法。花了一段时间解决所有的问题,但让它工作:)