SWT 拖拽

本文介绍了使用Eclipse SWT组件实现表格数据拖放的两种方法。第一种方法通过DragSource和DropTarget直接设置监听器来完成;第二种方法利用tableViewer自带的addDragSupport和addDropSupport简化操作过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

两种方式:

 

1. 

transfer = LocalSelectionTransfer.getTransfer();
DragSource ds = new DragSource(table, DND.DROP_MOVE);
ds.setTransfer(new Transfer[] { transfer });
ds.addDragListener(new DragSourceAdapter() {
	public void dragSetData(DragSourceEvent event) {
		transfer.setSelection(tableViewer.getSelection());
	}
});
DropTarget table_1DropTarget = new DropTarget(table_1,DND.DROP_MOVE);
table_1DropTarget.setTransfer(new Transfer[] { transfer });
table_1DropTarget.addDropListener(new DropTargetAdapter() {
	public void drop(DropTargetEvent event) {
		StructuredSelection s = (StructuredSelection) event.data;
	}
});

 

2.

 

tableViewer.addDragSupport(DND.DROP_MOVE, new Transfer[]{transfer}, new DragSourceAdapter(){
	public void dragSetData(DragSourceEvent event) {
		...
	}
});
 

 

tableViewer_1.addDropSupport(DND.DROP_MOVE,new Transfer[]{transfer}, new DropTargetAdapter(){
	public void drop(DropTargetEvent event) {
		...
	}
});
 

这里的Adapter和Listener区别在于,Listener要实现所有的函数,Adapter可以只选择需要的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值