读书人

swt 兑现拖拽功能

发布时间: 2012-11-01 11:11:33 作者: rapoo

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 的拖拽实现思路都差不多。

?

读书人网 >编程

热点推荐