flex4组件间处理:拖放

flex4组件间处理:拖放

ID:39964416

大小:1.28 MB

页数:17页

时间:2019-07-16

flex4组件间处理:拖放_第1页
flex4组件间处理:拖放_第2页
flex4组件间处理:拖放_第3页
flex4组件间处理:拖放_第4页
flex4组件间处理:拖放_第5页
资源描述:

《flex4组件间处理:拖放》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第11章Flex4组件间处理:拖放11.1拖放行为概述11.2在列表类组件中使用拖放11.3对非列表类组件使用拖放11.1拖放行为概述11.1.1拖放过程1.初始化用户通过使用鼠标选中一个Flex组件,或组件中的某一个选项,按住鼠标移动组件或选项移动,发起一个拖放操作。2.拖动当按住鼠标按键,用户在Flex应用程序中移动鼠标,Flex显示一个表示正在拖放的图片,这个图片代表拖放对象,称为“拖动代理”(Dragproxy)。3.放下当一个用户移动“拖动代理”划过一个Flex组件的时候,这个组件有可能变成“放下目标”(Droptarget)。11.1.2拖放事件Fle

2、x中的拖放操作涉及的类主要有以下几个。(1)DragManager:管理拖放操作。(2)DragSource:确定并且储存那些被拖放的数据。(3)DragEvent:响应拖放事件。Flex中的拖放操作涉及的事件主要有以下几种。(1)mouseDown和mouseMove。mouseDown事件在用户通过按住鼠标键选择一个组件时派发。标移动时派发。(2)dragEnter。当一个拖放代理从目标组件外移动到目标组件上时派发。一个组件成为一个放下目标时必须为这个事件定义一个监听器。(3)dragDrop。当鼠标在目标上释放时派发。(4)dragOver和dragExit

3、。dragOver事件当用户在目标组件上移动鼠标时派发;dragExit事件当用户拖动代理移出目标组件,并且没有放置数据时派发。(5)dragComplete。在一个拖放操作完成时派发。11.1.3支持拖放的组件用户只要定义组件中的一些属性,就可以实现拖放操作。涉及如下几个属性。(1)dragEnabled(2)dragMoveEnabled(3)dropEnabled11.1.3支持拖放的组件对于非列表类组件或dragEnabled属性值设为false的列表类组件,需要人为控制拖动和放下事件,实现的原理如下所示。(1)对于没有dragEnabled属性的组件,必

4、须使组件能够接收到用户已经开始启动一个拖放操作,然后使其明确成为一个拖动初始者。(2)当鼠标处于按下状态时,用户可以拖动鼠标,Flex则显示移动的拖动代理图像。(3)如果用户将拖放代理移动到一个Flex组件上,则Flex派发一个dragEnter事件到这个准放下目标。(4)dragEnter事件监听器将检查DragSource对象,以便决定拖放数据是否是可接受的格式。(5)如果放下目标拒绝放下,放下目标组件的父级链中组件将逐一被检查,从而检测是否有可以接受释放数据的组件。(6)如果放下目标或者其父组件中的一个组件可以接受放下,当用户在目标上移动代理时,Flex派发

5、一个dragOver事件。(7)如果用户放弃在放下目标上放下数据,并且一直没有松开鼠标同时将拖放代理移动到释放目标之外,则Flex派发一个dragExit事件,放下目标可以处理这个事件。(8)如果用户在放下目标上松开鼠标,则Flex派发一个dragDrop事件,然后放下目标的dragDrop事件监听器添加拖放数据到目标中。(9)如果拖放操作完成,则Flex派发一个dragComplete事件,拖放初始者可以处理这个事件。11.2在列表类组件中使用拖放11.2.1基本拖放在panel容器中定义两个List组件sl和dl,sl作为拖放初始者,dl则作为放下目标。将sl

6、的dragEnabled和dragMoveEnabled属性值都设为true,表示运行拖出和移动数据,将dl的dropEnabled属性值设为true,表示允许放下数据。代码如下:

7、leSelection="true"dragEnabled="true"dragMoveEnabled="true"/>11.2.1基本拖放初始化sl和dl中的数据源,代码如下:

8、it():

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。