`
snoopy7713
  • 浏览: 1153570 次
  • 性别: Icon_minigender_2
  • 来自: 火星郊区
博客专栏
Group-logo
OSGi
浏览量:0
社区版块
存档分类
最新评论

拖拽组件事例

    博客分类:
  • ZK
阅读更多

1,页面元素

 

 

Xml代码  收藏代码
  1. < window   id = "dropDemoWin"   apply = "controller.DropDemoController" >   
  2.  < listbox >   
  3.    < listitem   id = "draged1111111111"   draggable = "true"   droppable = "true"   onDrop = "dropDemoWin$composer.onDropListitem(event)" >   
  4.  </ listbox >   
  5. </ window >   

 如果不知道dropDemoWin$composer怎么来的看这里【zk开发】如何在页面中获得composer对象

 

 

2,将拖放的组件添加进来 onDropListitem

 

 

Java代码  收藏代码
  1. public   class  DropDemoController  extends  GenericAutowireComposer {  
  2.   
  3.      public   void  onDropListitem(DropEvent event) {  
  4.         if  (!(event.getDragged()  instanceof  Listitem)) {  
  5.             // ZkUtils.showError("some errors");   
  6.             return ;  
  7.         }  
  8.         // event.getDragged()获得你托动过来的组件   
  9.         Listitem draggedListitem = (Listitem) event.getDragged();  
  10.         // event.getTarget()是你释放鼠标,鼠标下的那个组件,即draggedListitem将要放在那个组件上,或下   
  11.         Listitem targetListitem = (Listitem) event.getTarget();  
  12. //      //放在目标组件之前   
  13. //      targetListitem.getParent()   
  14. //              .insertBefore(draggedListitem, targetListitem);   
  15.         //当然你也可以放在目标组件之后   
  16.         //   
  17.         Component afterComp=targetListitem.getNextSibling();  
  18.         //后一个组件是托过来的组件,什么都不做   
  19.         if (afterComp ==draggedListitem){  
  20.             return ;  
  21.         }  
  22.         if (afterComp== null ){ //如果没有下一个组件说明target是最后一个,直接添加到listbox里   
  23.             draggedListitem.detach();  
  24.             draggedListitem.setParent(targetListitem.getParent());  
  25.         }else { //注意这里的insertBefore的第二个参数   
  26.             targetListitem.getParent().insertBefore(draggedListitem, afterComp);  
  27.         }  
  28.           
  29.     }  
  30.   

分享到:
评论

相关推荐

    E3组件 含源码 例子应用及word教程

    它支持节点的展开与折叠、拖拽排序、异步加载等特性。E3树可以通过配置节点的图标、状态等属性,以更直观的方式呈现数据结构。同时,它同样拥有丰富的API,方便开发者进行扩展和定制。 压缩包中的"E3.Resource.src-...

    烁光引擎UI界面事例代码

    【烁光引擎UI界面事例代码】是一组用于构建用户界面的示例代码,它基于烁光引擎这一专业开发工具。烁光引擎以其强大的图形渲染能力和高效的性能在游戏开发、应用设计等领域广受青睐。UI(User Interface)是用户与...

    flex Papervision 3D 事例

    标题"flex Papervision 3D 事例"表明这是一个具体的项目实例,包含了使用Flex和Papervision3D开发的代码。这样的案例通常会涵盖基础到高级的各种功能,如对象渲染、相机控制、光照效果、纹理映射、碰撞检测以及用户...

    微软图表控件MsChart官方完整事例压缩包

    "微软图表控件MsChart官方完整事例压缩包" 是一个包含微软提供的MsChart控件的详细示例和教程的资源包。MsChart是Microsoft为.NET Framework 3.5和Visual Studio 2008开发的一个图表组件,用于在Web应用程序中创建...

    wdTree事例

    例如,后端可能使用Node.js、Python或其他服务端语言,而前端可能使用React、Vue或Angular等框架,利用它们提供的数据绑定和组件化特性来简化开发。 总结起来,`wdTree`是一个结合了权限赋值和树形列表的工具或组件...

    JBuile图形用户界面设计

    此外,它支持事件处理,可以通过简单的拖拽操作添加事件监听器,实现与用户的交互。例如,点击按钮触发特定功能,选择列表项后更新其他组件显示等。 JBuile的组件库非常丰富,包括了常见的表单元素、菜单、工具栏、...

    Fullcalendar带日程安排的日历

    FullCalendar 是一个jQuery插件,它提供一个全尺寸,像事例中的拖拽日历。它使用 AJAX 来为每个月提取事件并轻松地配置为使用您自己资料的格式 。它是以可视方式自定义并公开为用户触发事件 (如单击或拖动事件) ...

    Vue中使用Sortable的示例代码

    Sortable库提供了基本的拖拽排序功能,可以直接在Vue组件中使用。在 mounted 生命周期函数中,对this.$el进行真实DOM的操作,监听drag的一系列事件,在事件回调里移动DOM,并更新data。 knowledge point 2:Vue中...

    SWT 编 程 总 结

    - **Slider**:用户可以通过拖动滑块来输入值。 - **Scale**:类似于滑块,但通常显示更多的刻度。 - **ProgressBar**:显示任务完成的进度。 ###### 7.1.3 文本框/域 - **Text**:用于输入或显示文本的控件。 ##...

    flash shiti

    Flash 模拟试题及答案(一) 1.Loading应该放在影片的什麽位置? A. 影片不能有Loading B....C....D....2.Flash中设置属性的命令是?...A....B....C....D....A....B....C....D....A....B....C....D....A....B....C....D....A....B....C....D....A....B....C....D....A....B....C....D....A....B....C....D....A....

    开源的驰骋工作流程引擎-自由表单设计器操作说明书.doc

    自由表单设计器提供了一个直观易用的操作界面,用户可以通过拖拽等方式快速创建各种类型的表单。预览功能允许用户在设计过程中随时查看表单的实际效果,确保设计符合预期。 **1.3 表单样本** 该设计器提供了多个...

Global site tag (gtag.js) - Google Analytics