DnD

要把一个桌面上的文件拉进JAVA应用程序,显示文件路径,不容易啊~~

GOOGLE了不少,看了毫无头绪,还是看别人的实例比较好~

二个关键地方:

1.允许谁来接受DROP事件

自java.awt.Component以下都有setDropTarget(DropTarget)方法

实例DropTarget

DropTarget(Component c, DropTargetListener dtl)

这个C就是那个谁

DTL是由谁来处理DnD事件,可以自己写个类来实现此接口

2.处理DROP事件

实现DropTargetListener的类须实现以下5个方法:

dragEnter(DropTargetDragEvent dtde)

当DRAG进入C的Rectangle时的事件处理

dragExit(DropTargetEvent dte)

 当DRAG退出C的Rectangle时的事件处理

dragOver(DropTargetDragEvent dtde)

Called when a drag operation is ongoing, while the mouse pointer is still over the operable part of the drop site for the DropTarget registered with this listener.

当DRAG不在C的Rectangle时事件处理

drop(DropTargetDropEvent dtde)

当DROP动作完成,就是松开鼠标的时候的事件处理.

我的显示文件路径什么的就写在这里.

dropActionChanged(DropTargetDragEvent dtde)

Called if the user has modified the current drop gestur.

老实说,我不知道这个方法有什么用.

请高手指点.

 

另外关于第一点,我找到好二个方法都有相同效果:

1.Component.setDropTarget(DropTarget)

2.直接NEW 一个DropTarget

 

打完收功~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值