*代码示例,为Control添加Drop支持

int ops = DND.DROP_COPY;
Transfer[] transfers = new Transfer[]{
    LocalSelectionTransfer.getInstance(),
};

DropTarget target =new DropTarget(YourControl,ops); //定义DropTarget
target.setTransfer(transfers);
target.addDropListener(new DropTargetAdapter(){
	public void dragEnter(DropTargetEvent event) {
		if(event.operations==DND.DROP_COPY)
			event.detail =DND.DROP_COPY;
		else
			event.detail =DND.DROP_NONE; //否决drop
	}

	public void drop(DropTargetEvent event) {
		if(LocalSelectionTransfer.getInstance().isSupportedType(event.currentDataType)){
			if(event.data instanceof IStructuredSelection){
				Object obj =((IStructuredSelection)event.data).getFirstElement();
				//TODO 实现代码
			}
    }

      public void dropAccept(DropTargetEvent event) {
		if (event.operations == DND.DROP_COPY)
			event.detail = DND.DROP_COPY;
		else
			event.detail = DND.DROP_NONE;
	}

}


相关文章:

  • 2021-09-16
  • 2021-10-03
  • 2021-11-28
  • 2021-07-10
  • 2021-12-14
  • 2021-11-28
  • 2022-02-01
  • 2022-12-23
猜你喜欢
  • 2021-08-29
  • 2021-11-16
  • 2021-05-02
  • 2021-04-20
  • 2021-08-04
  • 2021-06-01
  • 2021-06-01
相关资源
相似解决方案