GXT之旅:第八章:Portal&Drag-Drop——项目使用Drag-Drop重构(2)
2012-04-26 17:53
477 查看
接着上节,我们按照同样的方式,允许用户可以拖动objects从FeedPortlet的ItemGrid移动到ItemPortlet里显示其内容。
首先,RSSReaderConstants类,定义恒量——ITEM_DD_GROUP,用来作为drag-drop的group
来到ItemGrid.onRender()方法,在add(grid);这一行上面加入如下代码——定义source(因为用的是GXT已经实现好的GridDragSource,所以不需要在Override );设置group
编辑ItemPortlet类的构造函数——在构造函数里面设置target;Override DropTarget.onDragDrop(DNDEvent event)方法,获得DNDEvent携带的items
上面的代码里,还设置target的属性,设置group
最后运行程序效果如下:
首先,RSSReaderConstants类,定义恒量——ITEM_DD_GROUP,用来作为drag-drop的group
public static final String ITEM_DD_GROUP = "itemDDGroup";
来到ItemGrid.onRender()方法,在add(grid);这一行上面加入如下代码——定义source(因为用的是GXT已经实现好的GridDragSource,所以不需要在Override );设置group
GridDragSource source = new GridDragSource(grid); source.setGroup(RSSReaderConstants.ITEM_DD_GROUP); add(grid);
编辑ItemPortlet类的构造函数——在构造函数里面设置target;Override DropTarget.onDragDrop(DNDEvent event)方法,获得DNDEvent携带的items
Dispatcher.forwardEvent(AppEvents.NewPortletCreated, this); DropTarget target = new DropTarget(this) { @Override protected void onDragDrop(DNDEvent event) { super.onDragDrop(event); List<Item> items = event.getData(); itemPanel.displayItem(items.get(0)); } }; target.setOperation(DND.Operation.COPY); target.setGroup(RSSReaderConstants.ITEM_DD_GROUP);
上面的代码里,还设置target的属性,设置group
最后运行程序效果如下:
相关文章推荐
- GXT之旅:第八章:Portal&Drag-Drop——项目使用Drag-Drop重构(3)
- GXT之旅:第八章:Portal&Drag-Drop——项目使用Drag-Drop重构(1)
- GXT之旅:第八章:Portal&Drag-Drop——项目使用Portal重构(2)
- GXT之旅:第八章:Portal&Drag-Drop——项目使用Portal重构(1)
- GXT之旅:第八章:Portal&Drag-Drop——项目使用Portal重构(3)
- GXT之旅:第八章:Portal&Drag-Drop——Portal的基本介绍
- GXT之旅:第八章:Portal&Drag-Drop——拖拽(Drag-Drop)基本介绍
- 使用ASP.NET Atlas实现拖放(Drag & Drop)效果
- 使用HTML5的drag&drop做一个数独游戏
- 使用HTML5的drag&drop做一个数独游戏
- Android项目使用support v7时遇到的各种问题
- JavaScript: DHTML API,Drag & Drop for Images and Layers
- 给力的 Google HTML5 训练营(HTML5 Drag&amp;Drop 拖拽、FileReader实例教程
- Drag 和 Drop 在 JavaScript 中的使用
- Internet Explorer 编程简述(十一)实现完美的Inplace Drag & Drop——“超级拖放”
- Drag &amp; Drop - From List to VideoDisplay
- 【重点突破】——Drag&Drop拖动与释放
- 只有企业级项目才特别需要使用ORM & 解剖PetShop
- Eclipse 新建项目时使用已有的环境配置 & opencv项目不必重复配置
- ReactJS & antd 环境中项目上传图片后压缩(lrz的使用)