GWT中的Drag和Drop

在GWT中,拖放操作是基于这两个核心类DragSource和DropTarget实现的。请看下面的代码示例:

 

final LayoutContainer container = new LayoutContainer();  
     container.setLayoutOnChange(true);  
     container.setBorders(true);  
     container.setSize(200, 200);  
   
     DropTarget target = new DropTarget(container) {  
       @Override  
       protected void onDragDrop(DNDEvent event) {  
         Html html = event.getData();  
         container.add(html);  
       }  
     };
 
Html html = new Html("Drag Me ");

DragSource source = new DragSource(html) {  

        @Override  
        protected void onDragStart(DNDEvent event) {  
          // by default drag is allowed  
          event.setData(html);  
          event.getStatus().update(El.fly(html.getElement()).cloneNode(true));  
        }  
      };  

 

El.fly(getSelf().getElement()).cloneNode(true) 这句克隆了你当前的节点,让其跟随鼠标移动。注意你的节点的样式,千万别是什么绝对定位或者有margin的,否则拖放就会显示不正常。

你可能感兴趣的:(html,gwt)