当前位置:文档之家› Flex学习文档(一)

Flex学习文档(一)

Flex学习文档(一)
Flex学习文档(一)

FLEX学习总结

从上周一,开始学习FLEX知识,下面就学习FLEX的过程总结一下:

一:安装FLEX插件:

我们使用的是MyEclipse 6.5+Jboss5.0+Jdk 1.6.0,而Flex插件,选择了FB3_WWEJ_Plugin.exe 这个插件版,下面主要介绍下如何安装Flex插件:

1.Flex插件的下载地址:

https://www.doczj.com/doc/079907806.html,/Applications/Flex/FlexBuilder/3/FB3_WWEJ_Plugin.e xe(注册码:1377-4868-2899-3328-2083-1968)

2.使用了BlazeDS,下载地址:

https://www.doczj.com/doc/079907806.html,/pub/opensource/blazeds/blazeds_turnkey_3-0-0-544.

zip(下载好后,将blazeds.war、ds-console.war、samples.wa三个文件放在tomcat的webapps目录下)

3.下面是安装步骤说明:

1). 双击可执行文件FB3_WWEJ_Plugin.exe,前面步骤按下一步或者同意、需要注意下

面步骤。一直点NEXT,直到这一步,即要求选择MyEclipse6.5中的Eclipse的安装路径,选择后,点击NEXT。

2).当点击NEXT后,会要求选择要调试的浏览器的类型,如图

根据实际情况,选择后,然后点击NEXT,完成插件的安装。

3).安装完毕后,打开FB3 安装目录,将eclipse里面features和plugins两个文件夹

内的文件对应复制到MyEclipse6.5的“eclipse”文件夹里的features和plugins 两文件夹,然后再将sdks文件夹复制到MyEclispe6.5的eclipse文件夹里面。

4.创建FLEX项目:

有两种方式:一种先建立flex项目,然后再让其变成web工程(这种为最常用的创建方式):具体见截图

1)切换到Flex视图,新建Flex Project,如图。

(说明:Java source folder就是你自己java业务源码存放的根目录,在FB3里,LCDS项目旨在将Java J2ee项目和FlexLcds项目混合。)

2)点击Next,配置J2EE服务器,如下图:

(说明:T arget runtime实际上没什么用(后来我删除了配置文件里的对应信息,也没问题),但是不指定就不能继续,如果这里显示的是那么就新建一个Tomcat的runtime,简单的只需要指定tomcat的安装目录即可。

Content folder实际上就是最终编译后的容器目录,因此,Lcds的flex.war文件将

会发布到该目录下的web-inf下的flex目录中。同时因为教程采用的是MyEclipse,他默认的就是发布WebRoot里的内容,为了自动化,因此这里改为了WebRoot(这也是java开发的习惯)

Flex WAR file 指的是安装了lcds后的flex.war文件的路径

Compilation options指定了flex文件的编译方式,选择推荐的在FlexBuilder里编译吧,虽然开发时多耗点时间,但是在发布后不会占用服务器的编译处理时间,对用户来说是有好处的。

Output folder 指的是Flex编译后的swf和html等文件存放的路径,这里改为了WebRoot\bin)

3)点击下一步,采用默认的配置,然后该工程就建立了。

4)使Flex工程变为Web工程有MyEclipse发布,见截图:

向导界面:

(注意:不要点快了,把这里的Create web.xml取消,这样就不会覆盖LCDS创建

的web.xml文件)

5)部署刚建立的项目,如下图:

向导界面:

注意:(如果你的列表中没有服务器,那么就自己建一个)

6)点击OK,将出现Deployment status里提示success,证明部署成功。

7)启动服务器后,运行flex_src下的.mxml文件,如果正常的话,出现下面界面

8)如果没出现,可以检查项目的访问路径或服务器的端口,打开项目属性界面,可

以修改项目编译和发布的配置,包括先前向导里的设置

修改output folder url

(为什么要这么做?

这样每次发布都会自动将编译的最终swf文件直接发布至WebRoot\bin目录下,而下面的output folder url则会在我们启动和调试项目时,直接请求这个路径(这跟发布无关,只是我们在开发过程中会方便些))

修改Flex Server的项目容器属性(非常重要,多数连接路径错误就是这里配置错误)改成如下配置

(Root url 当然就是你的web服务器的根路径了,Tomcat默认是8080端口,如果改了就自己修改Context root 就是LCDS工程的名称(注意:如果你分开为两个工程,则这里指的是你J2ee项目的名称,而不是你Flex项目的名称,因为你在请求Java的数据服务),在Flex请求LCDS时,会采用这个作为参数

http://{https://www.doczj.com/doc/079907806.html,}:{server.port}/{context.root}/messagebroker/amf

如果Context root错了,那么永远不可能正确的请求LCDS的服务。)

确定后,重新启动服务器,运行.mxml文件。

下面一个例子:

i.新建一个java类:Hello.java (放到src文件夹的com包下)

package com;

public class Hello {

public String hello(String name) {

System.out.println("flex调用我了,真好~~~~");

return "hello "+name;

}

}

ii.为flex配置这个要调用的对象,修改WEB-INF/flex下remoting-config.xml 加入:

com.Hello

iii.编写一个Flex程序 ( flexweb.mxml )

import mx.rpc.events.ResultEvent;

function gg(evnet:ResultEvent):void{

var ff:String = evnet.result as String;

ggg.text = ff;

}

function remotingSayHello():void{

var sname:String = nameInput.text;

h.hello(sname);

}

]]>

result="gg(event)"

endpoint="http://localhost:8080/MyFlex2/messagebroker/amf" >

y="193"/>

iv.重启tomcat,运行flexweb.mxml。运行效果:

二、学习过程中遇到的困难以及解决办法:

1)在做日志查询的时候,后台和前台的链接,一直得不到解决;

2)关于Flex中表格的定义,以及Twaver-Flex中table组件的使用,不是很清楚;

3)FlexJ界面展现的时候,增加和修改一条数据,弹出窗口还是链接到另一个flex页

面,当时想了很久;

4)部署完EJB和前台后,启动Jboss时,出现了莫名其妙的异常;

5)在AS中怎么获取TextInput里面,输入的值,这是个问题;

解决方法:

1)写一个链接EJB的类,主要负责前台和后台的链接作用,具体见图:

(其中buss为EJB中service层的接口类。)

2)查了相关资料后,明白了Flex中表格由两种定义方式,见下图:

3)由于当时调用另一个Flex页面,不怎么会,于是采用了调用弹出窗口的方式,来

进行修改或增加一条数据,具体见截图:

首先引入该包:

然后再修改或增加一条数据的方法里面定义要显示的窗口(panel)里面要显示的数据以及格式:

在最后调用下面的方法:

具体效果,见下图:

4)启动Jboss的时候,出现了异常,主要是加载的包和Jboss中的包,有冲突,后来

经过排查,删除了一些不该存在的包后,启动正常。

5)查了很多资料,最后问题解决,如下图:

但为什么这样写具体的原因,里面的KeyboardEvent.Key_UP,不明白为什么要这么用。

三、图表组件的学习中遇到的问题:

1)为什么BarChart,LineChart,PieChart等组件在Flex 3.5SDKS中,不能放在容器

中显示,但加入包后就可以显示?包见下截图:

2)Dataprovider和Data的区别和联系;

3)是否使用twaver-flex-1.4,插件来进行图表的展现;

4)关于ChartSeries对象,AxisRenderer添加样式的使用,理解上不是很到位;

5)类坐标(CategoryAxis)和线性坐标(LinearAxis)的使用,还不是很熟练;

6)Twaver里面的图表组件怎么使用;

7)关于怎么写一个完整图表组件的理解,既要实现需要的功能,还要求界面的美观性。

Flex打印问题

Flex打印问题 使用两个类解决打印问题:FlexPrintJob和PringDataGrid。 ? FlexPrintJob。这个类需要在实例化之后用作要打印对象的容器。 ? PringDataGrid。是DataGrid的一个子类,用来打印必须以网格或表格形式显示的数据,支持多页面打印。 简单的打印实例: < ?xml version="1.0" encoding="utf-8"?> < mx:Application xmlns:mx=https://www.doczj.com/doc/079907806.html,/2006/mxml layout="absolute"> < /mx:Application> 见源代码:printDemo.mxml。 创建单独的Print容器: < ?xml version="1.0" encoding="utf-8"?> < mx:Application xmlns:mx=https://www.doczj.com/doc/079907806.html,/2006/mxml layout="absolute" creationComplete="bookDataCall.send()">

Flex与Twaver资料

TWaver Flex数据模型 TWaverFlex的基本数据元素是twaver.IData,基本数据容器定义为twaver.DataBox,基于这两类基本元素,TWaverFlex预定义了一系列业务对象,视图网元和管理容器,例如告警(twaver.IAlarm)和告警容器(twaver.AlarmBox),图层(twaver.ILayer)与图层管理容器(https://www.doczj.com/doc/079907806.html,yerBox),拓扑网元(twaver.IElement)和拓扑管理容器(twaver.ElementBox)...... 数据元素结构图 数据管理容器结构图 其中拓扑管理容器(twaver.ElementBox)整合了其他几种容器,提供了丰富的拓扑元素(Dummy, Node, Link, Bus, ShapeNode, ShapeLink, Follower, Rack, Shelf, Slot, Card, Port, Grid, Group, SubNetwork......),为网管界面开发提供了强大的设计模型和业务功能的基础支持。 TWaver Flex数据元素 TWaverFlex以twaver.IData为最基本的数据单元,扩展定义了一系列具有图形和业务意义的数据类型,包括IAlarm, ILayer, IElement... twaver.IData

IData是TWaverFlex的数据元素基类接口,twaver.Data是对其实现类,定义了id, name, icon, toolTip, parent, children等基本属性,对事件派发做了封装,并支持xml数据的导入导出,为TWaver各平台间数据的可序列化奠定了基础。 Data继承于flash.events.EventDispatcher,这使他具有事件派发和监听的功能,可以通过调用下面的方法派发事件或者添加实现监听器: flash.events.EventDispatcher#public dispatchEvent(event:Event):Boolean flash.events.EventDispatcher#addEventListener(type:String, listener:Function, useCapture:Boolean=false, priority:int=0, useWeakReference:Boolean=false):void Data还实现了twaver.IData接口,实现了对属性变化事件的派发和监听 function dispatchPropertyChangeEvent(property:String, oldValue:Object, newValue:Object):Boolean; function addPropertyChangeListener(listener:Function, priority:int = 0 , useWeakReference:Boolean = false):void; function removePropertyChangeListener(listener:Function):void; 此外,Data中还定义了其他功能函数 function get childrenCount():int; function get hasChildren():Boolean; function isDescendantOf(data:IData):Boolean; function isParentOf(data:IData):Boolean; function isRelatedTo(data:IData):Boolean; function toXML(context:XMLContext, newInstance:IData):void; function parseXML(context:XMLContext, xml:XML):void; function setPropertyValue(property:String, value:Object):void; function getPropertyValue(property:String):Object; 下面分别介绍各个实现类 twaver.ILayer

flex4.0标签

Flex 4 读取xml文件,xml文件的格式: 根节点 叶子 信息 test-left test-middle fx:Binding可以使用 标签将某个对象的数据绑定到另一个对象。 可以使用 标签在 MXML 文件中定义内联单元格渲染器或单元格fx:Component 编辑器。 fx:Declarations可以使用 标签声明当前类的非默认、不可视属性。 可以在 标签内使用 标签定义图形子对象,然后fx:Definition 可以将子对象用于应用程序的其他部分中。 fx:DesignLayer 标签仅供内部使用。 fx:Library可以使用 标签声明当前类的非默认、非可视属性。 fx:Metadata使用 标签可以在 MXML 文件中插入 metadata 标签。 fx:Model可以使用 标签在 MXML 中声明数据模型。 fx:Private可以使用 标签提供有关 MXML 或 FXG 文档的元数据信息。 作为视图状态更改的一部分,可以使用 标签更改某个组件的父容fx:Reparent 器。 fx:Script可以使用 标签定义 ActionScript 代码块。 fx:Style可以使用 标签定义适用于当前文档及其子项的样式。 fx:XML可以使用 标签在 MXML 中声明 XML 格式的数据模型。 可以使用 标签在 MXML 中通过文本格式的模型创建 E4X XMLList fx:XML List 对象。 fx:Binding在使用标签时,需要提供源属性和目标属性。可以使用标签将视图或用户界面与模型完全分离。通过标签,您还可以将不同的source 属性绑定到同一个destination 属性。

Flex3.0面试题

1.as2与as3.的最主要区别是什么? 答:首先,as2和as3是完全不同的语言,几乎没有兼容性可言。as2编译用的AVM1虚拟机,as3用的AVM2,速度快,提供了一些基础异常处理。 as3是纯的OOP,强类型语言。as2不是。具体的差别有太多太多。 2.flex的开发框架有哪些,它们有什么优缺点? 答:最常见的当然是Cairngorm、Puremvc了,此外还有Mate,Swiz等等,据说被广泛应用的已经有10几款了。Cairngorm作为Adobe官方出品,有着贵族血统的它比较全面,是这些框架中已知bug最少的,但是基于他的应用相对臃肿复杂一些,需要对每个可以被触发的事件写一个对应的Command,编码量巨大,并且单元测试很不容易,不适合敏捷开发。Puremvc应该是现在用的最多的as 框架了。比较完善、并且与Cairngorm相比,更适合中小型应用的开发,它与Cairngorm一样,也是以MVC模式为中心,并以Fa?ade作为中央存储器的单件类的形式进行开发的。说下Mate,它是一个比较奇怪的框架,是基于标签的事件驱动型的。也就是说你不能再随意的写as类的,在使用Mate的情况下,只能用MXML来做这些事情。Swiz是Mate的孪生兄弟,长的挺像,没具体用过,不大了解。 3.在flex开发中,很多代码都写在mxml文件里,为了做到mvc模式,你是怎么处理的。 我认为mxml并不影响mvc模式啊。分两种情况来讨论,首先,是自己创建整个应用结构的时候,那我们可以手动将UI所在的mxml归为一类,然后由Mediator去操作或者说控制这些组件既可了,然后Mediator又统一交给Controller去操作。如果采用其他框架来进行开发的话,那就更不用来考虑这个问题了,像Cairngorm、Puremvc之类的框架已经很好的为我们解决了这些问题。只要按照它们的使用规范来进行开发,自然没有问题。 4.如果发生内存泄露,你是如何解决的? 在profile观察中已经内存泄漏是没有很好的解决办法的,至少我不知道,我能做的只是尽量去避免这种情况的发生,比如说注意不要循环引用,特别是在使用Timer的时候要格外注意,不要忘记全局对象上的引用的清除,在创建控制器和模型的时候要注意一定要使用单件模式。在addEventListener时候尽量采用弱引用、自引用、或者子对象引用,以避免内存泄漏。 5。as3.0垃圾回收器是如何工作的? flash player 8之前采用的是引用计数法,在flash player 8 之后用的是标记法,简单的说就是:从应用的根节点开始,遍历所有其上的引用,标记每个它所发现的 对象。然后迭代遍历每个被标记的对象,标记它们的子对象。这个过程第归进行,直到Player遍历了应用的整个对象树并标记了它所发现的每个东西。在这个过

JFLex用户手册中文版

JFLEX词法分析 安装与配置 1.下载jflex-1.4.3.zip,解压缩到本地目录(c:/jflex)。 2.找到jflex\bin\jflex.bat文件,配置JAVA HOME和JFLEX HOME 3.把x:\jflex\bin写入系统环境变量path中 运行 可视化方式 直接运行jflex\bin\jflex.bat文件,打开可视化界面操作即可。 命令行方式 配置 把x:\jflex\bin以及x:\jflex\lib\ JFlex.jar配置到系统环境变量的CLASSPATH中。 格式 java JFlex.Main 运行参数 -d 生成文件的输出目录 --skel 使用外部的骨架文件生成扫描器类,它大多数情况下用于JFLEX的维护和低级别定制。只有在你知道自己正在作什么时候才使用它。JFLEX的源码中带有一个骨架文件,预先编写骨架

文件才能使用此命令。 --nomin 在扫描器生成的过程中,跳过DFA简化步骤。 --jlex 完全兼容jlex --dot 为NFA, DFA and minimised DFA生成扩展名为.dot的graphviz图型文件。该参数还在最初阶段,尚未完全实现。 --dump 在控制台显示NFA转换表,初始DFA和最简DFA。 --verbose or –v 显示生成过程信息。 --quiet or –q 仅显示生成错误信息 --time 显示代码生成耗时信息(不十分精确) --version 打印JFLex版本号

Flex快速入门

Flex 快速入门 无衣 摘自https://www.doczj.com/doc/079907806.html,/cn/ (版权归原作者所有)

Flex 快速入门: 使用 MXML 和 ActionScript 进行编码 Adobe? 将 Flex 实施为 ActionScript 类库。 该类库包含组件 (容器和控件)、管理器类、数据服务类和所有其他功能的类。 您通过将 MXML 和 ActionScript 语言与该类库一起使用 来开发应用程序。 MXML MXML 是用于为 Adobe? Flex? 应用程序进行用户界面组件布局的 XML 语言。 您还使用 MXML 来显式定义应用程序的非可视方面, 例如访问服务器端数据源和用户界面组件与数据源之间的数据绑定。 例如, 您通过使用下面的 MXML 语句, 使用 标签来创建 Button 控件的实例: 您设置 id 属性以赋予 Button 实例一个唯一的名称, 以后可以使用该名称引用到它。 label 属性设置在 Button 实例上显示的标签的文本。 下面的示例显示创建显示 Button 控件的 Flex 应用程序所需的完整代码: 在编写 Flex 应用程序之后, 您必须使用 Flex 编译器来编译它。 Flex 编译器是称为 mxmlc 的一个很小的可执行文件, 处于 Flex 2 安装文件夹下的 Flex SDK 2.0\bin 文件夹中。 提示: 确保 Flex 2 installation folder\Flex SDK 2.0\bin 文件夹处于您的系统的路径中。 让 Flex 编译器处于您的路径中, 使您不管当前处于哪个文件夹中, 都可以从命令行调用它。 说明 1.在您喜爱的文本编辑器 (如, 记事本) 中创建一个新文件并将它另存为 MyFirst.mxml。 2.从前面的示例中将代码输入到 MyFirst.mxml 中并保存您的文件。 3.通过选择“开始”>“所有程序”>“附件”>“命令提示符”, 打开命令窗口。 4.将您的当前目录更改为包含您在步骤 1 中保存的 Flex 应用程序的文件夹。 5.键入下面的命令来调用 Flex 编译器: mxmlc --strict=true --file-specs MyFirst.mxml 以双短划线开头的命令字符串中的项目被称为编译器选项, 它们被用于定义 Flex 编译

flex开发规范文档

Flex开发规范 开发规范对可以使用项目中所有的文件进行统一,增加可读性,减少错误出现的几率。规范的编码减少人员变动带来的维护成本,可以让程序员尽快而彻底的理解新的代码。 为了方便维护,特定flex开发规范,每个人必须执行。 1.总体要求 所有As功能代码部分,每个方法需要有相应的注释。核心功能代码要求每个处理都要有注释。注释内容包括:方法功能用途,编写人,时间。 所有标签代码,需进行代码格式化。(myeclipse中的格式化)。 对于后期修改的代码,要注明为后期修改,并写明具体修改时间,修改人。 项目开发必须严格按照开发规范进行编写。 2.命名规则 2.1.项目结构及文件夹命名规则 文件夹命名需小写。除特殊运用框架的工程之外,项目中的文件目录结构应为: com >>assets 图片文件夹 >>common 常用组件文件夹 >>styles 样式文件夹 >>configs 配置文件夹 >>其他业务文件夹 2.2.类命名规则 类命名首字母需大写,取名需按照业务功能的字面意思进行取名。例如LoginPage。所有弹出页面均要加上XXXPop后缀。 2.3.配置文件命名规则 所有配置文件需按字面意思进行命名,首字母大写。例如MapConfig.xml。若文件是某个类专用读取属性于地址目录的配置文件,则要与该类同名。例如HireLine.mxml与HireLine.xml。

2.4.方法命名 除构造方法外,一般方法首字母需小写,后采用驼峰式命名方法,方法命名需体现方法功能。禁止方法名超长。标准应为如下:onMapClick():void, querryCarInfo():void, 2.5.类变量命名 变量命名需简短,明意。首字母需小写,并采用驼峰式命名方法。对于特定关键代码的变量命名后缀需与参照其类型名。例如集合与数组:messageArr。Object类为:infoObj。事件为:clickEvt。字符串为:querryStr等。 2.6.临时变量命名 尽量不与类变量同名,命名方法参照类变量,循环体内的自增变量需采用I,j,k,m,n,也可写成index。对于引用自定义类的变量,命名取该类型的缩写或取其名称的一部分。例如自定义类为CarInfoSearchPop,则变量名为cisp或carpop。 2.7.Bean命名 采用驼峰命名方法,命名需体现业务意思,以Bean结尾,例如:CarInfoBean。 2.8.Remote方法命名 Remote方法命名需与Java端方法同名。 2.9.标签命名 标签的命名所有字母都需大写 3.注释 3.1.类注释 因类包含mxml与纯class,所以均在script中进行注释。因项目中类较多,因此注释可简化为以下项: /**

Flex完全自学入门手册

Flex入门教程 编写日期:2009-02 作者:Dason 主要讲3个主题: 1.Flex是什么,用途和前景; 2.Flex Builder基础; 3.MXML基础; 现在进入第1个主题: 首先我们要明白,flex不是专门用来做网页的,它主要是用来做RIAs的 RIAs=Rich Internet Applications 富英特网应用程序 Flex现在虽然是2.0,以前是1.0和1.5,但是不要担心1.0和1.5版本自己没有用过,因为2.0版本才是Flex真正的开始,首先,Flex2.0的技术基础很高,采用Action Script3.0为编程核心,以FlashPlayer9.0为平台 它与以前版本的区别是 FlashPlayer9.0采用全新的虚拟机,运行速度是8.0的10倍以上 Flash8.0和Flex1.0,1.5,都是Action Script2.0用的FlashPlayer8.0,在性能上,跟Flex2.0的Action Script3.0和FlashPlayer9.0相差太远了 我们现在处于RIAs浏览器时代,意思是,我们用Flex做的程序,必须要用浏览器打开,以网页的形式发布,明年,我们将步入下一个RIAs时代――桌面RIAs时代,我们现在所有用flex2.0做的程序,明年都可以被重新发布成桌面应用程序,就跟我们现在用的软件是一样了,到时候,我们的程序不再被浏览器限制了,flex能做的程序很多,比如QQ这样的即时聊天软件、论坛、股票软件、网络视频聊天、等等。你能想到的基本都能做出来,Flex的前景是一片明朗的,而且越往后越会被广泛采用,这一切都从Flex2.0开始,所以,对于我们来说,这是个前所未有的好机会。现在学flex的人很少很少,如果你等到他已经大面积普及,那就没有竞争力了。 好,现在提问时间,马上要进入下一主题: Flex是纯面向对象语言,C是面向过程语言,ActionScript3.0相对2.0,改动太大了,如果有2.0基础,对3.0帮助不大,所以,如果你第一次接触的就是3.0,也不要紧,3.0删除了很多2.0的东西,而且增加了很多新类,3.0跟JAVA基本没什么区别了,所以,有JAVA基础的人,学起来更快。 AS3的语法跟JAVA一样,有库、包、类、接口这些概念,两者的本质区别是java可以做软件,但局限性很大,比如java界面很差,很多功能比较古老等等 今天第2个主题――Flex Builder2基础 1、打开Flex Builder2 A.新建Flex Project-

词法分析器flex中文手册

FLEX 中文手册 这是flex手册的部分中文翻译,仅供参考 ?一些简单的例子 ?输入文件的格式 ?模式 ?如何匹配输入 ?动作 ?生成的扫描器 ?开始条件 ?文件结尾规则 ?与yacc一起使用 一些简单的例子 首先给出一些简单的例子,来了解一下如何使用flex。下面的flex输入所定义的扫描器,用来将所有的“ username”字符串替换为用户的登陆名字: %% username printf("%s", getlogin()); 默认情况下,flex扫描器无法匹配的所有文本将被复制到输出,所以该扫描器的实际效果是将输入文件 复制到输出,并对每一个“username”进行展开。在这个例子中,只有一个规则。“username”是模式 (pattern),“printf”是动作(action)。“%%”标志着规则的开始。 这里是另一个简单的例子: int num_lines = 0, num_chars = 0; %% \n ++num_lines; ++num_chars; . ++num_chars; %% int main(void) { yylex(); printf("# of lines = %d, # of chars = %d\n", num_lines, num_chars);

} 该扫描器计算输入的字符个数和行数(除了最后的计数报告,并未产生其它输出)。第一行声明了两 个全局变量,“num_lines”和“num_chars”,可以在yylex()函数中和第二个“%%”后面声明的main()函数中 使用。有两个规则,一个是匹配换行符(“\n”)并增加行数和字符数,另一个是匹配所有不是换行符的 其它字符(由正规表达式“.”表示)。 一个稍微复杂点的例子: /* scanner for a toy Pascal-like language */ %{ /* need this for the call to atof() below */ #include %} DIGIT [0-9] ID [a-z][a-z0-9]* %% {DIGIT}+ { printf( "An integer: %s (%d)\n", yytext, atoi( yytext ) ); } {DIGIT}+"."{DIGIT}* { printf( "A float: %s (%g)\n", yytext, atof( yytext ) ); } if|then|begin|end|procedure|function { printf( "A keyword: %s\n", yytext ); } {ID} printf( "An identifier: %s\n", yytext );

Flex教程

Jquery flexigrid使用 相关技术:struts2.1.6+spring+hibernate+jquery+flexigrid+thickbox+mysql 主要的js文件:jquery.js,flexigrid.js,query.js,thickbox.js,util.js 其中: util.js是扩展flexigrid的功能,如条件查询用到的getQuery属性。query.js是自定义的flexigrid界面显示和函数触发文件。 Jar包:

使用过程: Struts2 jar只能用 2.1.6,web.xml中配置: struts-tags /WEB-INF/lib/struts2-core-2.1.6.jar 用struts2-core-2.0.14会报错: org.apache.jasper.JasperException: Unable to initialize TldLocationsCache: null

Jsp页面: 引入jquery、flexigrid插件文件以及test.js,body中编写:

在js文件中使用flexigrid创建页面: $(document).ready( function() { $("#grid").flexigrid( { // url :'jsp/query/json.json', url : 'getPaginationAction.action', dataType :'json', colModel : [ { display :'编号', name :'id', width :60, sortable :true, align :'center' }, { display :'姓', name :'firstname', width :120, sortable :true, align :'left' }, { display :'名', name :'lastname', width :120, sortable :true, align :'left' }, { display :'操作', name :'opt', width :120, sortable :true, align :'left', process :operate } ], searchitems : [ {

FLEX学习心得

FLEX学习心得 1,开发webgame你所要具备的 一、数据结构、设计模式、框架应用、良好的OO思想。 二、对socket/amf/remoting/shareobject/webservice等了解 三、各开源库(PV3d,Box2d等),但一般做策略型webgame不太需要,策略型webgame关注的是第一点 如果想做做小游戏,可看 make thing move之后看AdvancED_ActionScript 3.0 2,基于socket连接的安全沙箱问题的处理 https://www.doczj.com/doc/079907806.html,/xuxiangwin/archive/2009/07/07/4324218.aspx 大概就这个,但是我这里始终不行,有待后续补充 补充:https://www.doczj.com/doc/079907806.html,/club/thread-6471-1-5.html 3,FLEX解析XML的2种方式。有表情 https://www.doczj.com/doc/079907806.html,/blog/381820 4,FLEX控件样式和控件的使用 1).不知道控件有什么样式设置?看它:https://www.doczj.com/doc/079907806.html,/flex3/consulting/styleexpl orer/Flex3StyleExplorer.html 2).有控件不知道怎么用?看它:https://www.doczj.com/doc/079907806.html,/flex3/componentexplorer/explorer. html 5,FLEX中文例子 https://www.doczj.com/doc/079907806.html,/ 6,AIR的创建发布安装教程 https://www.doczj.com/doc/079907806.html,/AIR/thread-2727-1-1.aspx 7,Adobe AIR 迷你教程-- 监测网络状态,离线/在线应用程序的实现 https://www.doczj.com/doc/079907806.html,/Share/thread-2731-1-1.aspx 8,FLEX 45°视角游戏地图编辑器 https://www.doczj.com/doc/079907806.html,/club/thread-3334-1-1.html 9,RGP游戏基础45地图寻路和地图切换完整例子 https://www.doczj.com/doc/079907806.html,/club/viewthread.php?tid=2286&page=1#pid6532

最新Nature Made TripleFlex Triple Flex 中文说明书资料

Nature Made 天然制造 Nature Made TripleFlex Triple Flex 三倍维骨力关节宝 GLUCOSAMINE 氨基葡萄糖;氨糖1500 毫克 CHONDROITIN 软骨素;软骨胶800毫克 MSM 二甲基砜750毫克 【品牌】Nature Made?Triple Strength TripleFlex三倍维骨力 美国顶级保健品制造商,产品100%纯天然,优良质量深得美国人青睐,更是各大医院医师和药店药剂师得推荐产品。 成立1971年,获得多项专利和荣誉,研究力量雄厚。 具备GMP(优良制造实践)认证生产,USP(美国药典)药品级质量。 【产品规格】 Nature Made TripleFlex三倍强效氨基葡萄糖维骨力+软骨素复合配方 +MSM1500mg150粒 【产品特点】 Nature Made TripleFlex联合三种有效成分增强关节润滑和弹性。有效减轻关节疼痛、肿胀,增强关节活动功能,使您的关节更舒适更年轻。 盐酸氨基葡萄糖可帮助修复软骨、维持关节内结缔组织结构的正常。其作用包括:促进关节液分泌、加速软骨组织再生和修复、强化韧带和肌腱、减轻滑?ぱ字ⅰ? 本品是赠送老年人、骨关节炎患者、关节软骨伤患者、骨折患者的佳品! 【适应症】 适用于治疗和预防全身所有部位的骨关节炎,包括膝关节、肩关节、髋关节、手腕关节、颈及脊椎关节和踝关节等。可缓解和消除骨关节炎的疼痛、肿胀等症状。改善关节活动功能。 【产品成分】 每2粒含: 钠 70毫克Sodium 盐酸氨基葡萄糖 1500毫克(Glucosamine Hydrochloride) 硫酸软骨素+水杨苷(白柳树皮提取物)复合配方 800毫克 (Chondroitin Sulfate,White Willow Bark Extract (Salicin) Salix alba) MSM 750毫克(Methylsulfonylmethane) 【用法用量】 每日2粒,随餐服用。共75天用量。 【氨基葡萄糖介绍】 氨基葡萄糖(Glucosamine)的作用: 氨基葡萄糖(Glucosamine)是一种人体用来制造粘多糖的氨基酸组合分子结构。氨基葡萄糖集中于关节软骨处,首先形成长链氨基酸粘多糖,然后形成更大的结构——蛋白聚糖。蛋白聚糖的作用是吸收水分和液体到关节处用来在运动时润滑软骨。

flex4基础

flex4 mxml文件就是.MXML的xml文件 actionscript文件.as 编写代码 编译成swf文件 flex4 应用程序需要使用flash builder4的软件来创建 flash catalyst 事件 数据绑定 1、基础知识介绍 1.1、了解fl ex和flash平台 开发工具—flash builder 开源框架---flex 内嵌组件 扩展组件 语言---ActionScript3.0类库(符合ECMA标准的脚本语言,主要用来实现业务逻辑)语言---MXML(基于XML的描述式语言,主要用来描述UI布局的) Flex SDK Flex框架 软件开发包 ---编译器 ---调试器 Flash Builer开发工具 Flex SDK所有的功能 提供一些额外的特性提高生产力 ---上下文的代码提示 ---一个可交互的逐步调试器 ---一个可视化的设计环境(布局和样式) ---连接到服务器端数据的数据服务向导 ---内存和性能检测 ---自动测试支持及更多的特性 Flash Builder版本: ---标准版

---增强版:致力用创建关键业务应用,包含了标准版所有特性,并添加了一些企业及的特性在里面,包括内存和性能检测以及自动测试。增强版的数据可视化支持你创建图表和丰富的可视化面板。 1.2、了解flash Bulid er 和flex项目 默认的工作空间位于:Document and settings→user directory→adobe flash builer beta2 .metadata和configuration目录包含了flash builder工作空间的设置。 默认情况下,flash builder会把我的flex应用程序编译到我的项目文件夹下面的一个名为“bin-debug”的目录下。源文件将会保存在项目目录中的“src”目录下。 组件设置: MX+Spark(同时使用两个库) MX only(这个mx库比较老) 修改编辑器中的字体大小: General→Appearance→Colors and fonts→basic→text font 改变代码间距: Flash builder→indentation→actionscript.并且取消方法中的对齐参数。 在MXML中,也取消参数对齐。 1.3、了解命名空间 MXML: 第一行:xml声明,不能包含在任务支付之前,甚至空白。 在MXML文件中的下一个元素是一个Application的MXML标签块,这是所有的MXML应用程序所必需的标签。 Application前三个属性定义三个XML命名空间来引用Flex框架MXML标签集:fx,s和MX. 你可以认为是作为Flex框架类库不同的命名空间作用在不同的领域。 Application标签中的命名空间声明的是什么,实际上就是引用不同的Flex框架库而专门进行的命名空间声明。 命名空间fx代表MXML语言要素和Flex4中编译器指令。 命名空间s是包含Flex4中所有新的Spark可视化组件。 命名空间mx作为Flex3 Halo组件库的代表,也是已知的mx库。 命名空间映射到清单文件中所有的MXML标签都属于的命名空间的一部分。 在flex安装目录中→sdks→4.0.0→frameworks→flex-config.xml文件。flex-config.xml文件具有一个内置的xml解析器。 里面有3对统一资源标识符(URI)分别对应在Application中定义的标签。 这里还有一个额外的命名空间中定义的Flex框架。 2006年halo的定义是为了向后兼容。

flex和j2ee整合

Flex 学习入门 Flex+BlazeDS整合j2ee开发环境的配置过程: 第一步:下载Flex 配置文件以及Flex需要的jar包 https://www.doczj.com/doc/079907806.html,/wiki/display/blazeds/BlazeDS/ 如图1.0所示: 图 1.0下载flex 配置文件和flex jar包点击Download BlazeDS now 进入下一步:如图1.1

继续点击Download BlazeDS 3.x branch Nightly builds进入下一步:如图1.2 图 1.2 下载flex配置文件和flex jar包

第二步:新建一个Web Project工程,工程名为:flexDemo、修改Web root folder:WebRoot -> web. 第三步:解压刚下载的blazeds-bin-3.2.0.3978.zip ,解压后有一个blazeds.war的文件,把blazeds.war的后缀名重命名为.rar,结果变成rar文件:blazeds.rar,将blazeds.rar再次解压:此时就有两个文件夹META-INF和WEB-INF, 用解压后的WEB-INF直接覆盖项目中的WEB-INF。 第四步:在flexDemo/src目录下新建helloWord类:如图1.3 所示 图 1.3 新建java Class HelloWorld.java package com.kpsoft.flexDemo; public class HelloWorld { public String getHelloWorld(String name) { return "Hello World!"+name; } } 第五步:部署flexDemo到Tomcat服务器中。

Flex 开发入门

Flex 开发入门 级别: 初级 刘 庆 (qlcdl@https://www.doczj.com/doc/079907806.html, ), 软件工程师, IBM 软件开发中心 2009 年 1 月 07 日 本文介绍 Flex 开发的基础知识:包括如何搭建开发环境,如何调试,以及如何 建立和部署简单的 Flex 项目。通过本文的学习,可以为您将来深入地学习 Flex 打下良好的基础。 开始之前 Flex 作为富 Internet 应用(RIA )时代的新技术代表,自从 2007 年 Adobe 公司将其开源以来,Flex 就以前所未有的速度在成长。很多公司,包括 IBM 都纷纷加入了 Flex 开发的阵营当中。很多开发人员也按捺不住 Flex 的“诱惑”而准备从事 Flex 开发。本文主要讲述 Flex 开发的基础知识,主要是关于开发环境的搭建,以及介绍简单的 Flex 项目创建、编码、调试以及部署的过程和 Flex 编 程的基本知识。通过本文的学习,您将会学习如何搭建 Flex 基本的开发环境以及开发、调试和部署方面的基础知识。为您以后深入系统的学习 Flex 打下良好的基础。 要学习本文,您需要有一定的 Web 编程经验和 Eclipse FireFox 使用经验。 代码示例和安装要求 本文所有示例均在 Windows XP SP3 系统中测试完成。您需要一台能流畅运行 Windows XP 系统的机器,除此之外您还需要一些工具才能试用本文中的代码。所有这些工具都可以免费下载(参见 参考资源): ? Java SDK 1.5 或更高版本 ? Tomcat 6.0 或更高版本 ? Eclipse 3.3 或更高版本 ? Flex Builder 3.0 或更高版本 ? FireFox2.0 或更高版本 安装配置开发环境 文档选项 打印本页 将此页作为电子邮件发送 未显示需要 JavaScript 的文档选项 回页首

Flex常见问题及解决办法

Flex常见问题及解决办法 杨永耀,陈兵 北京北科博研科技有限公司 摘要:本文主要对Flex运用过程中几个常见问题的现象和解决办法进行说明,常见问题包括 1: Flex与ExtJs交互,切换tabpanel时导致事件和方法丢失 2: Flex嵌入切换到HTML中焦点不能输入中文 3: Flex数据异步加载和FLEX本身加载顺序控制 4: Flex嵌入到HTML中遮盖DIV的问题 关键词:Flex,ExtJs,事件丢失,中文输入,遮盖,异步加载 1.Flex与ExtJs交互,切换tabpanel时事件和方法丢失 我的flex封装文件是嵌入在extjs的tabpanel的一个tab中,当第一次打开该页面的时候,可以调用到ExternalInterface注册的方法,如果我切换到其他的tab然后再回到该页面,那么注册的方法就为null了。 也就是说操作完flex的东西,再切换tab后,flex中注册过的方法和监听事件都丢失了。 另外如果在多个页签中有多个tabpanel时,各个页签中的FLEX对象会出现互相卡死现象。 解决方法1: 重新注册flex中的方法和监听事件 解决方法2: 如果你点击flex里的内容怎么切换都没问题,只要操作过flex中的内容,在做tab切换,就会发现注册过的方法和监听事件都丢失了。 在切换tab前,可以把焦点从flex中移走,比如 contentTabPanel.on("beforetabchange",function(tabPanel,tab){ document.body.focus(); })

2.Flex嵌入切换到HTML中焦点不能输入中文 当焦点置于Flash后再切换到HTML元素中如HTML的INPUT输入框中,不管怎么切换我们的输入法,中文就是出不来。其实这算是Flash的一个BUG。 通过翻阅了FlexAPI相关函数时,发现flash.system.Capabilities参数组。 flash.system.Capabilities中有个是查看系统的输入法Capabilities.hasIME:[只读] 指定系统是否安装了输入法编辑器(IME),如果是,则为true,否则为false。服务器字符串为IME。 当我们焦点进入到Flash时我们的IME.enabled属性直接被Flash禁用,IME.enabled值变为false 这也就是当我们为什么焦点放在HTML的元素中,无论如何切换输入法就是不管用的原因。 首先对Flash主程序进行事件监听用到这个事件MouseEvent.ROLL_OUT: 用户将指针设备从InteractiveObject实例上移开时分派。事件目标是指先前在指针设备下的对象或该对象的父级。relatedObject是将指针设备向其移动的对象。在该对象的父级链以上连续分派rollOut事件,以该对象为开头,并以除relatedObject的根或始祖之外的最高级别的父级结束。 rollOut事件的目的是简化带有子级的显示对象容器的移开行为的编码。当鼠标离开显示对象区域或任何其子级区域并转到除其子级以外的对象时,显示对象分派rollOut事件。这是与mouseOut事件行为不同的行为,因为该事件是在每次鼠标离开显示对象容器的任何子对象区域时才会被分派,即使鼠标仍保留在显示对象容器的另一个子对象上也是如此。 当光标离开Flash时手动设置输入法开启代码如下 appGroup.addEventListener(MouseEvent.ROLL_OUT, setSRF); /** * 当光标离开Flash时开启设置系统的输入法 * */ private function setSRF(event:MouseEvent):void{ if(Capabilities.hasIME){ //安装了输入法编辑器 try{ if(!IME.enabled){ IME.enabled=true; } IME.conversionMode="CHINESE"; }catch(error:Error){

相关主题
文本预览
相关文档 最新文档