最近开始研究AIR平台了,一边做多功能flv播放器一边实践API,收获颇多。
这里是其中一个功能分支,
为组件添加文件拖入特性,过程大致如此:
- 为UIComponent添加NativeDragEvent监听,主要是两个事件drag_enter和drop[*]当拖动一个文件进入(应该是drag_over吧)UIComponent时首先响应drag_enter事件,这时需要通知该UIComponent可以接受drop(run的时候会看到图标有变化的),不然不会有drop事件发出[*]鼠标释放,drop事件发出
这里还要提一下TransferableData,这个类是用来封装拖动对象的。
package models
{
import mx.controls.*;
import mx.core.UIComponent;
import flash.events.NativeDragEvent;
import flash.filesystem.File;
import flash.desktop.*;
public class CFileDragInSupport
{
private var uiComp:UIComponent;
public function CFileDragInSupport(comp:UIComponent)
{
uiComp = comp;
init();
}
private function init():void
{
uiComp.addEventListener(NativeDragEvent.NATIVE_DRAG_ENTER, dragInHandler);
uiComp.addEventListener(NativeDragEvent.NATIVE_DRAG_DROP, onDropHandler);
}
private function dragInHandler(eve:NativeDragEvent):void
{
if(eve.transferable.hasFormat(TransferableFormats.FILE_LIST_FORMAT))
{
DragManager.acceptDragDrop(uiComp);
}
}
private function onDropHandler(eve:NativeDragEvent):void
{
var obj:TransferableData = eve.transferable;
if(obj.hasFormat(TransferableFormats.FILE_LIST_FORMAT))
{
var files:Array = obj.dataForFormat(TransferableFormats.FILE_LIST_FORMAT) as Array;
var file:File = files[0];
doDragIn(file);
}
}
protected function doDragIn(file:File):void
{
// override by child
}
}
}
分享到:
相关推荐
UIComponent.unitypackage
MatlabGUI使用java组件无所不能-uicomponent.m 是不是曾经想做出漂亮的GUI 界面? 是不是曾经想在 Matlab GUI里面显示网页? 看看这个界面: matlab_java.png 所以,...
UIComponent
UICOMPONENT 以几种等效的不区分大小写的格式支持整个 Swing/AWT 和任何用户定义的类。 例如,'Spinner'、'spiNNer'、'JSpinner' 和 'javax.swing.jspinner' 都是等价的并且可以识别。 现在可用的值得注意的新样式...
自定义组件(空视图、标题、表单输入项、设置项、菜单项、按钮、文字) 继承于ConstraintLayout EmptyView 空数据视图-(图标加文字描述) 属性表格 name format description empty_title string 空视图提示文字...
在用 ActionScript 创建自定义组件时,必须重载 UIComponent 类的一些方法.实现基本的 组件结构,构造器,以及 createChildren(),commitProperties(), measure(), layoutChrome() 和 updateDisplayList()方法.
Flash 窗口组件,如同DataGrid,List,采用as3编写,此组件可以最大化,最小化,模式对话框,自适应内容调整,固定大小调整,隐藏标题,隐藏边框,调整窗口大小等操作,希望给搞技术朋友带来实实在在的价值.
This is a Flex UIComponent that can be used 谋n a FLEX 3 mxml application as component written in action script 3.0, provides you to create items that cab be filled from an XML or Query ResultSet or ...
UiComponent2 /组件样板迁移 最近,此库中进行了许多出色的改进,如果您拥有OverReact 3.1.0发行版之前构建的现有组件,则所有这些都需要您采取一些措施。 我们已竭尽所能,使迁移尽可能轻松自如-绝大多数更改由...
BlurryLoading-UiComponent
flex开发自定义控件
ILIAS文件对象的文件类型图标 这是Studer + raimann AG,CH-Burgdorf( )的一个开源项目 此项目仅在GPL-3.0许可下获得许可 要求 ILIAS 5.4.0-6.999 PHP> = 7.0 安装 从您的ILIAS根目录开始 mkdir -p Customizing/...
与 Tiles 相比,Facelets 的优势在于它预先集成了 JSF UIComponent,并且不需要 Facelets 配置文件,而 Tiles 需要 Tiles 配置文件。 在 Facelets 中可以添加 JSF 验证器和转换器。Facelets 全面支持表达式语言 (EL...
BustFrames 让其他网页无法将你的主页加载入框架页中 Calendar 为指定月份建立日历 ClosePopupWindow 制作关闭弹出的窗口 CloseWindowOb 建立关闭当前窗口的链接 mm_flabutton_styles 为DW4增加几款新的Flash按钮...
让其他网页无法将你的主页加载入框架页中 Calendar 为指定月份建立日历 ClosePopupWindow 制作关闭弹出的窗口 CloseWindowOb 建立关闭当前窗口的链接 mm_flabutton_styles 为DW4增加几款新的Flash按钮样式 mx142100_...
虽然只是小版本的升级,但对于希望在JSF应用中使用HTML5技术的开发人员而言,JSF 2.2带来的更新很重要,尤其是pass through能力,它允许在JSF组件不知情的情况下传递HTML属性。 HTML5中增加了很多新特性,其中有些...
对于服务器上定义的每个组件,我们在应用程序(UIComponent)中都有一个相应的UI实现。 考虑像Hotstar这样的娱乐应用程序,其合同定义如下。 左边是服务器中的组件( ServerComponent ),右边是相应的UI组件。在职...
BustFrames 让其他网页无法将你的主页加载入框架页中 Calendar 为指定月份建立日历 ClosePopupWindow 制作关闭弹出的窗口 CloseWindowOb 建立关闭当前窗口的链接 mm_flabutton_styles 为DW4增加几款新的Flash按钮...