虽然前段时间以乔布斯为首的几位大侠对 flash 的安全、性能等进行了强烈的批评,而且伴随着 html5 的日趋完善,可能这种批评声会越来越大,甚或超过南非世界杯呜呜组啦的分贝,但是个人认为 flex 确实是一个可以做 delphi 、 pb 、 c# 等客户端所具有的强鼠标、键盘操作性的 web 应用好工具。但最近在开发 flex 自定义组件的时候,却让我十分恼火,真 TMD 的想骂 Flex 开发团队是一帮蠢驴(这是气话, flex 总体来说还是不错的,但确实不是很成熟)。那么究竟什么让我这么火? Flex 自定义组件的属性配置就是个鸡肋,就是基本组件的属性配置也很差。

拿使用频率较高的 AdvancedDataGrid 来说,该控件的属性配置应该算是做的比较好的了,提供了列配置,开发人员可以通过图形界面增加、删除列,编辑列的可编辑、标题、显示字段等属性,但是比较 C# 等客户端的话, Flex 提供的可视化属性配置还是差之太远。现在自定义一个 Grid ,继承 AdvancedDataGrid 。关于如何自定义组件,网上已经说的很多了,这里不再赘述,自定义组件有 2 种做法:其一是 ActionScript 类,其二是 mxml 文件。不管用哪种方法,现在已经做好了一个自定义表格 MyGrid ,继承 AdvancedDataGrid 。

新建一个 mxml Application ,将 MyGrid 拖放到该 application 中,发现 MyGrid 的属性配置面板里除了 id 等几项设置外已再无其它内容,刚才在 AdvancedDataGrid 属性面板中所见的 dataProvider 、选择模式、列配置等都已不见,也就是说自定义的 MyGrid 不能进行可视列编辑了,狂晕呀。

仔细分析大概是这样的:

1)  flex 所有可视组件的属性配置应该有个基本模板,大概该模板是基于 UIComponent 的;

2)  flex 自包含可视组件的属性配置应该有其特定实现,比如 AdvancedDataGrid ,应该有扩展自基本模板的 AdvancedDataGrid 属性配置;

3)  所有自定义组件的属性配置都只有基本模板(诸如 id 、左右边距等),因为 flex 找不到自定义组件的属性配置模板实现(由于 flex 组件的属性配置是 flex 预定义程序,且只对 flex 的标准组件做了定义),所以只有用 UIComponent 的配置模板了 ;

结论与建议:

结论很明显, flex 的自定义组件没有可用的可视化属性配置,因此我们要设置属性只能在 mxml 文件或者 as 文件中进行 coding 脚本,如果一个 MyGrid 有 30 列,那么就 coding 30 对 AdvancedDataGridColumn 吧。

建议,虽说 flex 其核心还是脚本编程,但个人认为一个好的开发工具,高效的开发工具还是很重要的,我认为 flex 不仅要完善属性控制面板,对其数据管理、标准的组件(拿最简单的 Button 来说吧,在 4 中不能直接设置 icon 了,为了显示带 icon 的 button 我 tmd 要写一堆代码,而在 3 中却是可以直接设置的,虽说 4 是为了把显示和数据分开,但同时要考虑开发效率呀。)等也需要加以完善。

flex 自定义可视化组件的超级鸡肋的属性设置相关推荐

  1. Unity自定义UI组件(十一) 雷达图、属性图

    前言 借用梦想世界宠物属性图 想必大家都在游戏中见过属性图用于展示多种属性的数值,可以较为直观的对比某种属性的缺陷或者是哪种属性有优势.在三维可视化领域也会遇到类似的属性对比,用属性图来展示最为合适. ...

  2. 自定义ActiveX组件在设计阶段,切换属性页后出现异常

    源码下载:ActiveX-Clock-OCX 参照孙鑫的<<VC++深入详解>>中第18章自定义ActiveX中的Clock例子(到18.3节之前),完成了OCX控件的制作,而 ...

  3. 辅助图分析人员的自定义图数据可视化组件

    图数据处理与可视化 一.可视化效果 二.neo4j的数据封装 三.将封装好的数据转换为d3.js格式并写入文件 四.启动http服务加载文件数据 五.使用HTML可视化图数据 在图数据处理过程中,如果 ...

  4. 第三章:创建用户界面组件--可视化组件(一)

    1.可视化组件 1.1关于可视化组件 可视化组件的特征包括:size(大小).事件.样式.皮肤.行为. 行为:当组件被触发时,视觉,音乐效果的变化. 1.1 .1Spark and Halo 组件 S ...

  5. 转载:QTableView中嵌入可视化组件

    出处:http://qimo601.iteye.com/blog/1538364 QTableView中嵌入可视化组件方法有四种: 第一种不能之前显示,必须双击/选中后才能显示,不适用. 第二种比较简 ...

  6. 数据可视化组件Grafana详细解读--MacOSX上的安装

    数据可视化演示: PS:您可以在目标服务器上运行数据可视化组件,监控数据服务器,Web服务器,网络文件服务器等等服务器的各种运行状态,DevOps的必不可少的组件. Mac OS X(通过homebr ...

  7. 数据可视化组件Grafana详细解读--RedHat/Fedora/CentOS/Oracle上的安装

    数据可视化演示: PS:您可以在目标服务器上运行数据可视化组件,监控数据服务器,Web服务器,网络文件服务器等等服务器的各种运行状态,DevOps的必不可少的组件. 在基于RPM的Linux的上安装版 ...

  8. 数据可视化组件Grafana详细解读--Debian/Ubuntu上的安装

    数据可视化演示: PS:您可以在目标服务器上运行数据可视化组件,监控数据服务器,Web服务器,网络文件服务器等等服务器的各种运行状态,DevOps的必不可少的组件. 在Debian / Ubuntu上 ...

  9. Android自定义控件学习(三)----- 自定义视图组件

    自定义视图组件 说明 Android提供了用于构建UI的基础上,基本布局类一个复杂和强大的组件化模式:View和 ViewGroup.首先,该平台包含各种预构建的View和ViewGroup子类 - ...

最新文章

  1. java类怎么删除对象_在java中删除一个对象?
  2. st04 查看数据库日志
  3. 获取表数据_mysql数据库部分表被truncate,部分数据被delete的解决过程
  4. lucene可用中文分词IKAnalyzer,maven pom下载代码及配置文件
  5. post and get
  6. Ps 初学者教程,如何添加选择、减去选择和进行交叉选择?
  7. linux安装jdk8
  8. 移动光猫获取管理员密码过程记录(吉比特TEWA-272G)
  9. 怎么在html中加水印,如何在h5网页添加水印
  10. vue省市区遍历数据
  11. 爆款公众号:如何打造爆款公众号文章?公众号文章如何突破10w+?
  12. Excel中计算加权平均数
  13. Linux系统运维常用命令集锦
  14. 内存泄漏工具asan
  15. 钟平程序员逻辑英语——回归理性——中英文对切基本公式(1-1)
  16. 解决使用yum安装软件时出现GPG-Key的问题
  17. Spark的任务调度
  18. 加密狗 检测到程序在终端服务器上运行
  19. 图数据库初探相关——1.Simulating Mobile Money Fraud pt.1(模拟移动支付诈骗)翻译
  20. Rook+ceph+wordpress部署

热门文章

  1. php反序列化需要几个对象,PHP反序列化详解
  2. 《学习如何学习》week3 1.4-1.7 过程VS结果如何改变拖延的习惯如何平衡学习和生活
  3. DBCO-SS-NHS;CAS NO:1435934-53-4 二苯并环辛炔-二硫键-活性酯,科研实验用试剂
  4. 用Modelsim SE 直接仿真 Altera(Intel PSG) IP核 需要注意的问题
  5. numpy绘制利萨茹曲线
  6. Java的setRecord怎么用,Java CsvReader.setRecordDelimiter方法代码示例
  7. Flutter webView加载html富文本
  8. 程序员怎么找工作?程序员找工作越来越难怎么办?
  9. 一文搞懂显示技术的底层框架
  10. 奇怪的比赛(某电视台举办了低碳生活大奖赛。题目的计分规则相当奇怪: 每位选手需要回答10个问题(其编号为1到10),越后面越有难度。答对的,当前分数翻倍;答错了则扣掉与题号相同的分数(选手必须回答)