Openlaszlo自定义组件开发.docx

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Openlaszlo自定义组件开发

Openlaszlo自定义组件开发在laszlo应用开发过程中,大部分编码过程集中在对系统组件的熟练应用,比如取值、传值、刷新组件状态等等。但是很多情况下,尤其是项目的初始编码阶段,需要定义一些满足项目特定要求的界面组件,这就需要自定义组件了。 自定义组件开发,首先需要对lzx的语法、系统组件结构、开发文档有全面而且深刻的理解,然后通过不断的锻炼,按照由间到繁的实践过程,才能逐渐成为开发高手。1. 理解组件的基本原理 原理介绍:类、模型、视图、控制器(MVC) 1.1 class与组件 LZX语言是一种面向对象的、基于原型的编程语言,而class是LZX编程语言的核心,使用class你可以生成定制的、可重用的组件来提高代码编写效率。(LZX is an object-oriented, prototype based language that allows you to create custom, reusable classes to streamline and minimize code. Classes are at the heart of LZX programming.) 下面看看一个简单的class: class name=MyClass width=80 height=25 bgcolor=#CFD9AB text align=center valign=middleHello, World!/text /class 这就定义了一个简单的class,class在LZX语法中继承自LzView,所以它可以有高度、宽度、背景色等属性。 在canvas里这样使用它: MyClass name=myFirstInstance/ 就是说,把已经定义的类名当作一个标签的名称,放在canvas里就可以了,如果你愿意,可以给它起个实例名比如myFirstInstance,还可以指定它的位置等等。 (详见Software Engineers Guide:Chapter 12. Introduction to Classes and Object Oriented Programming) 这是一个简单的class,但也是一个简单的组件,如果把这个class扩展一下,添加一些属性、事件、数据模型,那么它就可以构成一个可重用的组件。 1.2 解析LzButton 一个功能完整的组件应该由3个部分组成:M、V、C M: A model that represents the data for the application V: The view that is the visual representation of that data. C: A controller that takes user input on the view and translates that to changes in the model. (引自A Swing Architecture Overview) (/products/jfc/tsc/articles/architecture/index.html) M表示模型,模型代表着组件的数据内容 V表示视图,视图代表着组件的视觉形象 C表示控制器,控制器接收用户输入并对其做出响应 下面看看一个Openlaszlo系统组件中最常用也是最简单的一个组件:button 打开C:\Program Files\OpenLaszlo Server 3.3\Server\lps-3.3\lps\components\lz 下面的button.lzx 会看到3个include/标签,这是button组件需要的父类组件。 接下来的resource/是button组件需要的视图资源,大多是flash图片背景。 注意第34行:class name=button extends=basebutton ...这才是组件真正定义的开始。可以看出button继承自父类basebutton,也就是说button的基本行为来自于basebutton,basebutton定义了button组件的基础控制部分,即MVC中的C。 接下来是一些属性定义:attribute name=someproperty value=valuecorresponding/name表示属性名称,value是对应的值; 这些attribute标签是组件需要的属性,这些属性一般都要默认的值,如果需要修改,在使用组件时重载这些属性就可以了。 接下来这些method name=.../代表组件的C,即控制部分。 最后是view name=...,这些代表组件的V,视图部分。前面定义的resource,在这里用到。 因为按钮组件不需要数据来填充,也就是说

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档