swt 实现拖拽功能

实现的基本思路就是:

1:设置拖拽源。  DragSource

2:为拖拽源设置 通道 Transfer

3:为拖拽源  绑定监听。DragSourceListener

 

public void dragSetData(DragSourceEvent event) {

 

// TODO Auto-generated method stub

if (TextTransfer.getInstance().isSupportedType(event.dataType)) { 

DragSource source = (DragSource) event.widget;

Label label = (Label) source.getControl(); 

event.data = label.getText();

}

}

 

DropTargetListener

if (TextTransfer.getInstance().isSupportedType(event.currentDataType)) {

String text=(String) event.data;

DropTarget target=  (DropTarget) event.widget;

Label label= (Label) target.getControl();

label.setText(text);

}

 

基本思路就是这样,通过widget创建一个  拖拽源,然后在为拖拽源 设置一些东,

中间的数据交换是通过通道里完成了。不同的通道真的不同的类型。

 

跟swing 的拖拽实现思路都差不多。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值