Extjs4.0.7使用前的准备
Extjs4.0.7 desktop基础搭建
Extjs4.0.7 desktop初级搭建涉及内容:1.classes.js的拆分2.App.js和Settings.js里代码的含义3.桌面图标的换行4.一些小小的修改首先上官网上下载最新版本的Extjs,本次讲解以4.0.7版本为例,下载地址/products/extjs/download/ext-js-4.0.7/1234然后打开myeclipse新建一个web project工程,这个工程的结构如下其中core文件夹用于存放desktop的核心代码css文件夹用于存放样式表ext文件夹用于存放ext-all.js等images文件夹用于存放desktop实例中imagesmodules文件夹用于存放桌面上显示的模块resources文件夹用于存放desktop实例自带的壁纸文件夹wallpapers 和Extjs中resources下的themes文件夹接下来把App.js,Settings.js和index.jsp(即desktop.html)放在webroot 目录下面一.classes.js的拆分:首先来看一下index.jsp中的代码<!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01//EN""/TR/html4/strict.dtd"><html><head><meta http-equiv="Content-Type"content="text/html; charset=utf-8"><title>extjs4 desktop</title><!-- css --><link rel="stylesheet"type="text/css" href="js/css/ext-all.css"/><link rel="stylesheet"type="text/css" href="js/css/desktop.css"/><!-- base js --><script type="text/javascript"src="js/ext/ext-all.js"></script><script type="text/javascript"src="js/ext/ext-lang-zh_CN.js"></script> <!-- core js --><script type="text/javascript"src="js/core/Module.js"></script><script type="text/javascript"src="js/core/Video.js"></script><script type="text/javascript"src="js/core/Wallpaper.js"></script> <script type="text/javascript"src="js/core/FitAllLayout.js"></script> <script type="text/javascript"src="js/core/StartMenu.js"></script> <script type="text/javascript"src="js/core/TaskBar.js"></script><script type="text/javascript"src="js/core/ShortcutModel.js"></script> <script type="text/javascript"src="js/core/Desktop.js"></script><script type="text/javascript"src="js/core/App.js"></script><!-- module js --><script type="text/javascript"src="modules/WallpaperModel.js"></script> <script type="text/javascript"src="modules/VideoWindow.js"></script> <script type="text/javascript"src="modules/BogusModule.js"></script> <script type="text/javascript"src="modules/BogusMenuModule.js"></script> <script type="text/javascript"src="modules/TabWindow.js"></script> <script type="text/javascript"src="modules/GridWindow.js"></script> <script type="text/javascript"src="modules/AccordionWindow.js"></script> <script type="text/javascript"src="modules/SystemStatus.js"></script><script type="text/javascript"src="modules/Notepad.js"></script><!-- config js --><script type="text/javascript"src="Settings.js"></script><script type="text/javascript"src="App.js"></script> <script type="text/javascript">Ext.Loader.setPath({'Ext.ux.desktop': 'js',MyDesktop: ''});Ext.require('MyDesktop.App');var myDesktopApp;Ext.onReady(function () {myDesktopApp = new MyDesktop.App();});</script></head><body><a href=""target="_blank"alt="Powered by Ext JS"id="poweredby"><div></div></a></body></html>其实有了这段代码就算是拆分完了,但是还不够,我们还需要修改两个地方,1.settings.js中修改2.App.js中修改以上两处如果不改当你在桌面上点击右键来改变桌面背景图片时会发生错误。
Extjs4开发笔记(收集整理)
Extjs4开发笔记(一)——准备工作2011-06-28 来源:mhzg 作者:mhzg (共2 条评论)使用extjs4 mvc+asp来实现员工管理系统,系统会使用大量的extjs4组件及插件,期待着这个系统完成。
本文内容已经重新更新,旧版请查看/a/20116/20116281100279-old.html。
重写原因:由于开始准备的时候,就是按照传统开发去做的,写了一部分之后,有网友和同事提出:“为什么不用MVC模式”呢?这样的问题让我对目前传统开发的心发生了一些细微变法,对啊,为什么不用MVC模式呢?我征求了一下同事及热心网友的意见,都同意使用MVC模式开发。
从而,我删掉了原来所有目录,重新按照MVC模式去组织目录结构,很快的,目录结构准备好了。
那。
我们重新来过,使用EXTJS4.0的MVC模式,开发这套员工管理系统。
给个简称吧。
SMS(你懂得。
呵呵!)。
一、建立环境:Data:数据库文件夹,里面放着管理系统用的数据库文件。
数据库目前只有三张表。
分别是:Menu:菜单项user:员工注册信息userinfo:员工个人资料信息Images:图片目录,一些自定义的图片文件Include:服务端文件目录,里面包含ASP所用到的Conn.asp、Function.asp等文件App:整个SMS所用到的自定义JS文件,里面有一个controller文件夹,一个view 文件夹。
controller文件夹放置主代码,view文件夹放置各组件。
这几个文件夹中的内容会在第二章进行介绍。
Extjs4:此目录放置Extjs4的库文件。
Server:服务端目录,里面包含ASP服务端获取数据的各种.ASP文件。
目前里面建立了一个叫MenuLoader.asp的文件,从名字上来看,这个文件是加载菜单使用。
OK,今天就介绍到这里,明天,我们会从头开始发开基于Extjs4 MVC模式的应用。
Extjs4开发笔记(二)——框架的搭建2011-06-29 来源:mhzg 作者:mhzg (共11 条评论)头部、菜单、内容区及底部则完全分离成4个JS文件,我们将先实现这几个文件的基础功能,由于使用的是Extjs4,所以我们一定要使用Extjs4 动态加载功能。
ExtJs4.0入门教程
ExtJS简介
ExtJS显示效果示例1
ExtJS简介
ExtJS显示效果示例2
ExtJS简介
认识ExtJS的开发包
要开始ExtJS之旅的第一步是要获得开发包,可以 从官方网站/下载。下载 地址是 /products/extjs/downloa d
•
ExtJS组件之Panel
•
控件
控件(widgets):控件是指可以直接在页面中创建 的可视化组件,比如面板、选项板、表格、树、 窗口、菜单、工具栏、按钮等等,在我们的应用 程序中可以直接通过应用这些控件来实现友好、 交互性强的应用程序的UI。
ExtJS基础组件
•
组件分类举例
容器组件:如toolbar、pagingtoolbar、panel、 form、menu、treePanel、gridPanel、window等。 工具栏及菜单栏组件:如tbseparator(工具栏分 隔符)、menuitem(菜单项)等。 表单及元素组件:如checkboxfield(复选框)、 combo(下拉列表)、datefield(日期选择项)等。 其他组件(包括图表、视图、编辑、按钮组件): 如chart、button。
• • • • •
• •
ExtJS简介
ExtJS API文档
ExtJS简介
•
从Hello World开始
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> <link rel='stylesheet' type='text/css' href='./ext/resources/css/ext-all.css'> <script type="text/javascript" src="./ext/bootstrap.js"></script> <script type="text/javascript"> Ext.onReady(function(){ Ext.MessageBox.alert('helloWorld',"I'm coming"); }); </script> </head> <body> </body> </html>
让我们开始Extjs之旅
w w w.d oz an.c n/bb s第2章让我们开始ExtJS之旅通过前章的学习,从概念上对ExtJS有个了解。
本章从开发包的安装开始讲解,通过Hello World来直观展示ExtJS的美妙之处。
此外还介绍了相关的开发工具以及对原有JavaScript对象的扩展。
本章开始正式进入ExtJS的开发学习。
本章内容提示:Ô认识ExtJS的开发包Ô也从Hello world开始ÔExtJS中的基本概念Ô非常有用的开发工具ÔExtJS对原有JavaScript对象的扩展2.1 认识ExtJS的开发包要开始ExtJS之旅的第一步是要获得开发包,可以从官方网站/下载,以保证获得最新版本。
其下载地址是/products/extjs/download/,下载成功后的开发包是ext-4.0.0-gpl.zip,有21.9M之大。
不过不用担心,这个包并不是ExtJS 程序真正运行时必须要载入的,这个包中包括了很多有用的资源,在正式开始开发之前,有必要对这个包中的相关资源有所了解,图2-1就是解开ext-4.0.0-gpl.zip之后的文件目录结构。
图2-1 ExtJS4开发包的文件目录结构w w w.d oz an.c n/bb s下面分别对其中主要的资源进行简单介绍。
z builds目录是ExtJS压缩后的代码,经过压缩的代码体积更小,加载更快;z docs中当然是ExtJS的文档了,其中最重要的是ExtJS的API,这是开发ExtJS程序过程中的法宝。
z examples中是官方的演示示例,这里是初学者最好的学习乐园,通过对这些演示示列的熟悉,就能很快掌握ExtJS开发。
z locale 这是多国语言的资源文件,其中ext-lang-zh_CN.js是简体中文。
z overview是ExtJS的功能简述,其中从整体上阐述了ExtJS的功能和结构。
z pkgs中是ExtJS各部分功能的打包文件。
extjs中文说明
EXT 中文手册开发必备该文档内容取自互联网,详细的介绍了EXT的各部分内容,希望对大家有所帮助pjq2008-5-25EXT 中文手册EXT 中文手册pjq 收集整理22008EXT 中文手册前言本手册所有内容均粘贴自互联网,如有错误,请多见谅。
EXT 中文手册EXT 中文手册pjq 收集整理32008目录EXT 中文手册 (1)EXT 简介 (5)目目錄錄 (5)下载Ext (6)开始! (6)Element:Ext 的核心 (6)获取多个DOM 的节点 (7)响应事件 (7)使用Widgets (9)使用Ajax (11)EXT 源码概述 (13)揭示源代码 (13)发布Ext 源码时的一些细节 (14)我应该从哪里开始? (15)适配器Adapters (15)核心Core (15)Javascript 中的作用域(scope) (15)事前准备 (15)定义 (15)正式开始 (16)window 对象 (16)理解作用域 (17)变量的可见度 (17)EXT 程序规划入门 (18)事前准备 (18)需要些什么? (18)applayout.html (18)applayout.js (19)公开Public、私有Private、特权的Privileged? (21)重写公共变量 (23)重写(Overriding)公共函数 (23)DomQuery 基础 (24)DomQuery 基础 (24)扩展EXT 组件 (31)文件的创建 (31)Let's go (35)完成 (37)EXT 的布局(Layout) (39)简单的例子 (40)加入内容 (43)开始使用Grid (53)EXT 中文手册EXT 中文手册pjq 收集整理42008步骤一定义数据(Data Definition) (53)步骤二列模型(Column Model) (54)Grid 组件的简易分页 (55)d G rid 数据 (55)的怎么做一个分页的d Gr id (56)栏分页栏r T ool ba r (56)EXT Menu 组件 (57)创建简易菜单 (57)种各种m Item 的类型 (59)m I tem 属性 (59)在在I UI 中摆放菜单 (59)u M enu 的分配方式: (60)练一练 (62)到动态添加菜单按钮到r Too lb ar (62)更方便的是 (63)下一步是 (63)模板(Templates)起步 (63)第一步您的HTML 模板 (63)第二步,将数据加入到模板中 (64)下一步 (64)学习利用模板(Templates)的格式化功能 (64)正式开始 (64)下一步 (66)事件处理 (66)非常基础的例子 (66)处理函数的作用域 (66)传递参数 (67)类设计 (67)对象创建 (67)使用构造器函数 (68)方法共享 (68)表单组件入门 (69)表单体 (69)创建表单字段 (69)完成表单 (70)下一步 (71)为一个表单填充或提交数据 (71)让我们开始吧 (71)读取我们的数据 (72)EXT 中的继承 (73)补充资料 (74)Ext 2 概述 (74)组件模型Component Model (76)容器模型Container Model (80)EXT 中文手册EXT 中文手册pjq 收集整理52008布局Layouts (81)Grid (84)XTemplate (84)DataView (85)其它新组件 (85)EXT2 简介 (86)下载Ext (86)开始! (87)Element:Ext 的核心 (87)获取多个DOM 的节点 (88)响应事件 (88)使用Widgets (90)編輯使用Ajax (93)TabPanel 基础 (96)Step 1: 创建HTML 骨架 (96)Step 2: Ext 结构的构建 (97)Step 3: 创建Tab 控制逻辑 (99)EXT 简介无论你是Ext 库的新手,抑或是想了解Ext 的人,本篇文章的内容都适合你。
ExtJS快速入门指南
ExtJS快速入门指南一、ExtJS框架简介 (1)二、如何使用Ext (2)三、Ext组件 (3)1、组件简介 (3)2、组件XType (4)3、组件应用 (4)4、组件配置选项 (5)5、组件属性 (6)6、组件方法 (6)四、事件及事件响应 (7)五、Component及Container简介 (10)1、ponent (10)2、tainer (10)六、面板Ext.Panel (11)面板Panel简介 (11)面板内容 (12)面板与DOM节点DIV (13)七、ViewPort (14)八、窗口Window (17)九、对话框 (18)十、TabPanel (22)十一、布局 (26)十二、表格Grid (29)十三、TreePanel (30)十四、表单Form (32)十五、理解Html DOM、Ext Element及Component (34)十六、Ext类中的get方法简介 (35)十七、如何学习及掌握Ext (37)一、ExtJS框架简介ExtJS也就是Ext框架,官方网址为,ExtJS是一个Ajax框架,是一个用javascript写的,用于在客户端创建丰富多彩的web应用程序界面。
ExtJS可以用来开发RIA(Rich Internet Application,富互联网应用系统)的开源AJAX应用框架,使用的开源协议是GPL。
ExtJS是一个用javascript写的,主要用于创建前端用户界面,是一个与后台技术无关的前端Ajax框架。
因此,可以把ExtJS用在.Net、Java、Php等各种开发语言开发的应用中。
ExtJs最开始基于UI技术,由开发人员Jack Slocum开发,通过参考Java Swing等机制来组织可视化组件,无论从UI界面上CSS样式的应用,到数据解析上的异常处理,都可算是一款不可多得的JavaScript客户端技术的精品。
二、如何使用Ext首先从ext官方网站下载ext的sdk,把sdk拷到web应用程序目录,然后即可在web 页面中直接通过<script>标签引入ext的库文件,就可以使用javascript调用ext的各种控件。
Extjs
Extjs1.Extjs简介.Extjs是一个Ajax框架,是一个用javascript写的,用于在客户端创建丰富多彩的web应用程序界面。
ExtJs可以用来开发RIA(Rich Internet Application,富互联网应用系统)的Ajax应用框架。
ExtJs是一个用javascript写的,主要用于创建前端用户界面,是一个与后台技术无关的前端ajax框架。
因此,可以把ExtJs用在.Net,Java.Php等各种开发语言开发的应用中2.Ext库文件说明.要使用extjs,那么首先要得到extjs库文件,该框架是开源的,可以直接从官方网站下载。
解压后看到文件有:adapter: 负责将里面提供的第三方底层库(包括ext自带的底层库)映射为Ext所支持的底层库。
build :压缩后的ext全部源码(里面分类存放)docs : API帮助文档examples :提供使用ExtJS技术做出的小实验resources :ExtUI资源文件目录,如CSS、图片文件都存放在这里。
source : 没有经过压缩的Ext全部的源码(里面分类存放),遵从Lesser GNU开源的协议。
Ext-all.js :压缩后的Ext全部源码ext-all-debug.js :未经压缩的Ext全部的源码(用于调试)ext-core.js :压缩后的Ext的核心组件,包括sources/core下的所有类。
ext-core-debug.js:未经压缩的Ext核心组件,包括sources/core下的所有类。
3.应用ExtJs应用extjs需要在页面中引入extjs的样式及extjs库文件。
样式文件为resources/css/ext-all.css,extjs的js 库文件主要包含两个:adapter/ext/ext-base.js及ext-all.js。
其中ext-base.js表示框架基础库,ext- all.js是extjs的核心库。
EXTJS(入门篇04)UsingSenchaCommand
Using Sencha Command本系列文章为翻译文章,翻译自API文档,也是入门级别的文章,请初学者仔细阅读,如果翻译有不妥的地方,请谅解,如果转载请注明作者及出处。
Sencha Command是一个跨平台的命令行工具,可以帮助我们轻松的开发基于Sencha SDK上的应用程序。
从我们建造工程开始到最终的完成,贯穿整个的开发过程,该工具都能为我们提供简单的自动生成的命令工具。
Requirements值得注意的是,只有ST2才有这样的优势。
接下来就让我们看看我们都需要些什么吧:1.如果你的电脑上没有一个HTTP服务器的话,你需要安装一个了。
因为在本知道文章中已经假设我们的主机是localhost,而我们的文档在/path/to/www目录下。
2.下载最新的SDK Tools工具并进行安装。
3.下载最新的Sencha Touch 2 SDK,解压到一个比较方便的路径下,比如D盘根目录之类的(本人用的win7)。
4.检验一下我们的命令行是不是可以运行了。
我以win7为例,首先打开命令行,进入到我们把SDK解压的目录下,然后输入sencha 并回车,查看信息。
如果出现帮助性的提示信息,证明我们的安装是对的。
Getting Started在我们这个强大的SDK Tools里面,所有的命令都有近乎一样的语法格式:看看下面这几个典型的例子吧:简单的理解,sencha命令其实还是很简单的,都是以sencha开头,然后接着的模块,然后是命令动作,最后是该命令需要的参数。
如果想了解具体的模块,直接输入sencha便会有提示信息;输入sencha+模块名称便会有动作命令的具体用法了,如果需要使用可以自行查阅。
Creating a New Application我们用一个简单的创建命令来体验一下命令行的强大吧:首先我们进入到SDK目录下,然后使用create命令创建我们的工程,简简单单数秒钟就搞定了。
Understanding Y our Application's Structure我们通过命令行生成的工程都应该有下面这样的目录结构:app.json和packager.json的内容都是可配置的项,我们可以根据每一个具体的程序需求来进行简单的配置。
EXT JS实用开发指南_个人整理笔记
EXTJS实用开发指南1、要使用ExtJS 框架的页面中一般包括下面几句:<link rel="stylesheet" type="text/css" href="extjs/resources/css/ext-all.css" /> <script type="text/javascript" src="extjs/adapter/ext/ext-base.js"></script><script type="text/javascript" src="extjs/ext-all.js"></script>在ExtJS 库文件及页面内容加载完后,ExtJS 会执行Ext.onReady 中指定的函数,因此可以用,一般情况下每一个用户的ExtJS 应用都是从Ext.onReady 开始的,使用ExtJS 应用,程序的代码大致如下:<script>function fn(){alert(“ExtJS库已加”);}Ext.onReady(fn);</script>2、A:fn 也可以写成一个匿名函数的形式,因此上面的代码可以改成下面的形式:<script>Ext.onReady(function (){alert(“ExtJS库已加载!”);});</script>B:进一步,我们可以在页面上显示一个窗口,代码如下:<script>Ext.onReady(function(){Var win=new Ext.Window({title:"hello",width:300,height:200,html:'<h1>Hello,easyjfopen source</h1>'});//参数是"标题,宽度,高度,html文本"win.show();});</script>3、ExtJS 的类库由以下几部分组成:底层API(core):底层API 中提供了对DOM 操作、查询的封装、事件处理、DOM 查询器等基础的功能。
Extjs教程_第一章_起步
第一章起步在这章里,我们将介绍ExtJS的基本功能。
如果你对web开发熟悉的话,您会惊诧于ExtJS框架的优雅!不同其他的JavaScript库,ExtJS为您的开发夯实了基础,只需几行代码,你就可以制作出丰富的用户界面。
本章包括:1. ExtJS的功能和您将会喜爱上它的原因;2. 如何获得Ext并在web应用中采用它;3. 采用”适配器(adapters)“使得Ext和其他的JavaScript库共存;4. 充分利用AJAX技术;5. 在您的语言中展示ExtJS对象;关于Ext:我们采用最新的的Ext 2.x版本,1.x版本到2.x版本的是一个重组的过程,包括添加新的组件、重命名组件用来重新组织结构等等。
这使得1.x和2.x兼容性很低。
3.x 版本则不然,他对2.x有很强的兼容性,可以很好的联合本书中所设计的内容。
Ext的开发组决定在日后的版本发布中都做到向前兼容。
Ext库是对雅虎YUI的一个拓展,提供了它所不支持的特性:良好的API,真实的控件。
虽然YUI致力于用户界面,但是它却没有提供许多有用的功能。
Ext的产生源自于开发者、开源贡献者们将YUI扩展成一个强大的客户端应用程序库的努力。
Ext提供了一个简单丰富的用户界面,如同桌面程序一般。
这使得开发者能够把精力更多的转移到实现应用的功能上。
Ext官网上的示例会让你知道它是如何的不可思议:/deploy/dev/examples/。
其中最引人注目的一个例子就是Feed Viewer,它展示了Ext.However提供的多种特性,对于学习来说它可能太复杂了,所以现在只需你感受它带给你的精彩。
另外一个精彩的例子就是Simple Task任务跟踪程序,它加载了Google Gears的数据库。
Ext: 不仅仅是另一个JS库:Ext不仅仅是另一个JS库,实际上它可以通过适配器(adapter)和其它JS库一起工作。
我们将在本章的稍后来介绍适配器。
通常来说,我们使用Ext的目的是满足高层次的用户交互——要比我们传统概念上的站点交互性更强。
Extjs入门例话教程
ExtExtjs js入门教程1.前言Ext是一款优秀的Ajax框架,目前已经出道了4.x版本。
可以用来开发带有华丽外观的胖客户端应用,使得我们的b/s应用更加具有活力及生命力,提高用户体验。
ExtJS 是一个用javascript编写,与后台技术无关的前端ajax框架。
因此,可以把Ext用在.Net、Java、Php等各种开发语言开发的应用中。
这次培训的目的:对Ext有一个大体的了解,并且掌握进一步学习的方法。
2.JS基础要学好Ext必须对JS有一定的了解。
2.1闭包所谓“闭包”,指的是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。
我想用如何在Javascript中创建一个闭包来告诉你什么是闭包,因为跳过闭包的创建过程直接理解闭包的定义是非常困难的。
看下面这段代码:function a(){var i=0;function b(){alert(++i);}return b;}var c=a();c();这段代码有两个特点:1)函数b嵌套在函数a内部;2)函数a返回函数b。
这样在执行完var c=a()后,变量c实际上是指向了函数b,再执行c()后就会弹出一个窗口显示i的值(第一次为1)。
这段代码其实就创建了一个闭包,为什么?因为函数a外的变量c引用了函数a内的函数b,就是说:当函数a的内部函数b被函数a外的一个变量引用的时候,就创建了一个闭包。
闭包的应用场景:1)保护函数内的变量安全。
以最开始的例子为例,函数a中i只有函数b才能访问,而无法通过其他途径访问到,因此保护了i的安全性。
2)在内存中维持一个变量。
依然如前例,由于闭包,函数a中i的一直存在于内存中,因此每次执行c(),都会给i自加1。
以上两点是闭包最基本的应用场景,很多经典案例都源于此。
Ext中也存在许多这样的情况。
2.2对象简单的声明一个对象var Person={name:"刘德华","年龄":50,address:"中国"};var personObj=new Object();personObj.firstname="John";stname="Doe";personObj.age=50;personObj.eyecolor="blue";构造对象的方式有以下几种:1构造方式function User(){ername="zhangsan";//this.不能丢this.say=function(){//this.不能丢alert("username:"+ername);//this.不能丢}//下面注释的这种写法不对//function say(){//alert("username:"+ername);//}}var user=new User();ername="lisi";user.say();//username:lisivar user1=new User();user1.say();//username:zhangsan,不受user对象的影响//多个实例对象不共享类的属性值,如下:function User(){ername=new Array();//this.不能丢this.say=function(){//this.不能丢alert("username:"+ername);//this.不能丢}}var user=new User();ername.push("zhangsan");user.say();//username:zhangsanvar user1=new User();user1.say();//user1的username为空,不为zhangsan,因为user1的属性值不受user影响优点:多个实例对象不共享类的属性值,缺点:每个实例对象都会产生出一个函数say。
Extjs教程 第七章 布局
第七章 layout(布局)layout(布局)可以让表单、表格等控件继承到一个web应用中。
最常见的布局可以在操作系统中找到,例如微软的windwos,它利用的就是border layout(边界布局),resizable region(可改变大小的区域),accordions(层叠面板),tabs(标签页)和其它能能想到的东西。
为了让不同浏览器有同样的用户界面,ExtJS提供了强大的layout management syestem(布局管理系统)。
布局中的每一部分都可以被管理和控制,你可以移动或者隐藏它们,然后你可以通过单击一个按钮来在你需要的时候显示它们。
在这章中,我们将学到:∙为一个应用进行布局;∙建立标签布局;∙通过layout管理Ext控件;∙学习高级嵌套的layout。
什么是layout,region和viewport?Ext使用Panel(面板)作为大多数layout的基础。
我们已经使用了其中的一些,如FormPanel(表单面板)、GridPanel(表格面板)。
viewport有点像panel,它包含了整个布局,填充浏览器的整个可视区域。
在我们的第一个例子中,我们将使用viewport和border layout来包含多个Panel。
viewport有region(区域),如同罗盘一样,有North(北)、South(南)、East(东)和West(西)这四个region——Center(中央)region显示在中间。
这些方向告诉Panel该处于viewport的哪个方位上。
在形成多panel后,他们之间还会有可移动的边界。
显示效果如下,它集成了很多我们之前用到的示例:这种layout叫做“border”layout,region之间靠一个可拖拽的三维分界线分开。
这个示例包含了4个panel region。
North:工具栏;West:表单;Center:在标签面板中的grid;East:包含了文字的面板。
ext4.0学习文档
概念:(1)ExtJS是一个面向开发RIA也即富客户端的AJAX应用,是一个用javascript写的,主要用于创建前端用户界面,是一个与后台技术无关的前端ajax框架。
(以前是基于YAHOO-UI ,现在已经完全独立了)(2)之所以说是框架,因为它能够帮助我们在页面上快速而简单构建各种各样的控件,简化我们自己去写庞大js实现;它是一种纯面向对象的JS框架。
扩展性相当的好,可以自己写扩展,自己定义命名空间,web应用可能感觉太大,不过您可以根据需要按需动态的加载您想要的类库就可以了,避免了网络传输流量问题。
(3)它提供了丰富的,非常漂亮的外观体验,成为众多界面层开发人员的追捧,更重要的是它核心的组件基本覆盖了我们构建富客户端的常用的组件以及各种功能,在统计方面做的也非常出色。
(4)在3.0的时候提供了类似与dwr的方式调用后台代码,交互更加简单;4.0版本又提出了MVC模式的开发,支持组件化、模块插拔化设计以及提供本地数据源的支持。
第一章 EXTJS的基本概念1. 组件component : 能够以图形化形式呈现界面的类,其中还可以分为容器组件与元件组件。
∙容器组件:能够包含其它容器或者元件组件的类,其是进行单元化组件开发的基础∙元件组件:能图形化形式表现一个片面功能的组件,其不仅在实现了原有传统WEB程序的现有组件,而且还扩展了许多实用的组件,如刻度器、日历、树形列表等。
2. 类提供功能的非图形可形的类,它们为图形类提供了有力的支持按其功能可分为:数据支持类(Data)、拖放支持类(DD)、布局支持类(layout)、本地状态存储支持类(state)、实用工具类(Util)。
密封类:不能被扩展的类原型类:扩展了javascript标准类库中的类3. 方法作为类的功能体现,能够产生改变对象本身产生变化的直接因素方法按访问形式可分为公有方法与私有方法。
但由于javascript从原理上根本不支持这种结构,因此在EXTJS中,私有与公有方法完全凭借着用户自觉,没有像JAVA那样的强制性。
Extjs4.0 配置
Extjs一路走来可谓风光无限!现在的extjs最新版本已经到了4.07,下载地址:/products/extjs现在说下版权问题,商用是要收费的,个人学习研究是免费的GPL3的许可证.其余不多说!现在完之后解压,解压后的目录结构如下图所示:不多说,一步一步来。
环境的搭建:建立web工程(当然本地工程也可以)—>在web目录下新建extjs 目录—>复制extjs4.0的解压文件中bootstrap.js,ext-debug-all.js,ext-all.js以及resource目录到此目录下,目录结构图如下:ok,截止目前为止所有环境ok。
现在开发HelloWorld程序!很简单只是一个HelloWorld!【需求:在页面加载完成的时候alert一个’hello’的信息】现在extjs目录下新建hello.html页面,其内容如下:<html><head><title>extjs-demo–来自的教程</title><link rel="stylesheet" type="text/css"href="resources/css/ext-all.css"/><script type="text/javascript" src="bootstrap.js"></script></head><body></body></html>在此简单解释,ext-all.css是extjs通用的css文件。
extjs本身的所有css 样式都在这里面定义,bootstrap.js文件用来加载extjs的相应js文件,其能根据是开发环境还是生产环境进行动态加载。
其在如下代码完成配置:isDevelopment = null 默认的’isDevelopment ‘是null值,如果是null则加载的是ext-all-debug.js原因如下:if (queryString.match(‘(\\?|&)debug’) !== null) {isDevelopment = true;}else if (queryString.match(‘(\\?|&)nodebug’) !== null) {isDevelopment = false;}document.write(‘<script type="text/javascript" src="’ + path +‘ext-all’ + ((isDevelopment) ? ‘-debug’ : ”) + ‘.js"></script>’);以上代码还算简单,不多费口舌了。
Ext4.0--在应用中使用Ext Loader
7 < script type = " text/javascript " src = " js/MyApp/app.js " >
8 < /head >
9 < body >
10 < /body >
11 < /html >
index.html文件中需要使用link标记包含ExtJS 4的样式文件。包含ext-debug.js文件的javascript标记可能要修改多次,ext-all-debug.js文件是开发调试用的,而ext-all.js则是在发布产品时使用的。
ext-all.js ;压缩后的完整版本,文件比较小。使用该版本调试很困难,因此一般在发布产品时才使用。
ext-debug.js : 该文件只包含ExtJS基础架构和空的结构。使用该文件,可以实现ExtJS类文件的远程加载,而且提供了很好的调试体验,不过代价是相当的慢。
ext.js : ext-debug.js的压缩版本。
1 Ext . define ( ' MyApp . views . UsersGridPanel ' , {
2 extend : ' Ext . grid . Panel ' ,
3 alias : ' widget . UsersGridPanel ' ,
4 requires : [ ' MyApp . stores . UserStore ' ,
在开始编码前,首先要确定目录结构,以下是使用命名空间组织的文件夹:
从上图可以看到,MyApp目录已经按照命名空间进拆分成几个目录。在完成开发的时候,我们的应用将会有一个如下图所示的内部依赖运行模型。
ExtJs控件的定义及使用方法(二)
ExtJs控件的定义及使用方法(二)第三种控件:单击按钮,弹出窗口,选择数据,将数据传回按钮控件,然后执行操作,例如将传回的数据添加到gridPanel中-------------------------------------------1.调用控件界面Ext.ns("ff.cd.cd");/*** 综合组设置信息明细设置* @param {} config*/ff.cd.cd.showgoods = function(config) {config = Ext.apply({prefix : "showgoods"}, config);this.init = function() {// 判断是否存在此对象,如果不存在则新建,否则直接返回var _showpanel = Ext.getCmp(this.genId("main"));if (_showpanel) {return _showpanel;}var _this = this;this.setRecord = function(record){_this.record = record;if(record){mainform.form.loadRecord(this.record);Ext.getCmp(_this.genId('rate')).setValue(record.get("rate")*10 0);Ext.getCmp(_this.genId('merchrate')).setValue(record.get("m erchrate")*100);}}/*** 这是一个回调函数,将cdgoods中的数据回调过来,方便以后做处理* @param {Object} ss*/this.fn_query=function(ss){var mm="check";alert(ss+'将数据添加到grid中');}/***调用控件,调用的方法1*/var _merchcp=showgoodsButton({id:'',fn:this.fn_query});/*** 对弹出窗体做弹出前的判断*/this.fn_msg=function(){Ext.Msg.confirm('提示', "是否打开弹出窗口",function(btn){ if(btn=='yes'){_merchcp.pop();}});}/*/*** 单击按钮执行的操作*/_merchcp.onClick = function(){_this.fn_msg();};*/this.btn_save=function(){//var _merchcp=showgoodsButton();var m=_merchcp.getValues();}panel=new ff.cd.cd.cdgoods();//商户清算合同设置var mainform = new Ext.form.FormPanel({title: "商品控件",id: this.genId("main"),closable: true,// bodyStyle: 'padding:5px',autoHeight: false,autoWidth: false,autoScroll: true,loadMask : true,frame: true,// layout:'fit',width:480,height:180,labelAlign : 'right',buttonAlign :'center',items: [{xtype:'panel',layout:'table',buttonAlign:'center',layoutConfig: {// The total column count must be specified here columns: 4},items:[{xtype:'label',text:"商品:"},{colspan:3,items:[_merchcp],},{colspan:4,items:[{xtype : 'textfield',id : this.genId("pid"), name : 'pid',hidden:true}]},{colspan:4,items:[{xtype : 'textfield',id : this.genId("id"), name : 'id',hidden:true}]},{colspan:4,items:[{xtype : 'textfield',id : this.genId("corpcode"), name : 'corpcode', hidden:true}]},{colspan:4,items:[{xtype : 'textfield',id : this.genId("corpid"), name : 'corpid', hidden:true}]}],buttons:[{//调用控件的方法2:调用封装控件searchgoodsbutton xtype:'searchgoodsbutton',id:this.genId('btn_exit'),icon:"image/exit.png",width:100,text:"商品控件1",windFn :this.fn_query,handler:this.btn_exit},{////调用控件的方法3:直接调用控件searchbuttonxtype:'searchbutton',id:this.genId('btn_exit'),//icon:"image/exit.png",windWidth : 600,windHeight : 400,text:"商品控件2",windItem : panel,windArray:panel.getArray,windFn :this.fn_query,handler:this.btn_exit}]}]});return mainform;}ff.cd.cd.showgoods.superclass.constructor.call(this, config); }Ext.extend(ff.cd.cd.showgoods, Ext.sydev.Sheet);---------------------------------------------------------------------------------------------------------------具体代码如下:代码里都有注释----------------------------------------------------showgoodsButton函数/*** 单位信息模式窗体查询** @return {}*/showgoodsButton=function(config) {/*** 这里传递的参数是用来接收调用该控件页面的配置信息的,* 所以名字不可以更改,并且页面调用的配置参数名称必须与这里保持一致* @param {Object} id* @return {TypeName}*/this.id=config.id;/*** 指定回调函数* @param {Object} id* @return {TypeName}*/this.fn=config.fn;/*** 调用指定回调函数,因为参数名与参数值不能相同(windFn : windFn 不可以),所以这样定义* @param {Object} id* @return {TypeName}*/this.windFn=config.windFn;if(this.windFn){fn=this.windFn;}if(id == undefined || id == null){id = Ext.id();}//var panel = doWindow;panel=new ff.cd.cd.cdgoods();return new Ext.custom.SearchButton({columnWidth: .7,xtype : "searchbutton",id : id,name:"corpname",width : 70,text:'商品控件',windItem : panel,windArray:panel.getArray,windWidth : 600,windHeight : 400,anchor : '90%',windFn : fn});}Ext.extend(showgoodsButton,Ext.custom.SearchButton);Ext.reg("searchgoodsbutton",showgoodsButton);------------------------------------------------------searchText.js//*** 需求:点击按钮,弹出一个窗口,选择记录,返回给前台这些数据,在弹出窗口中this.WindArray方法是必须的.* this.getGridValues是一个回调函数,用来与调用此窗口的页面进行交互* config:配置参数,接受调用此控件的对象传递过来的参数**function showgoodsButton(id,fn) {* if(id == undefined || id == null){* id = Ext.id();* }* var panel = new ff.cd.cd.cdgoods({typeAll : 'all'});* return new Ext.custom.SearchButton({* columnWidth: .7,* xtype : "searchbutton",* id : id,* name:"corpname",* width : 200,* windItem : panel,* windArray:panel.getArray,* windWidth : 600,* windHeight : 400,* anchor : '90%',* windFn : fn** });** }* 其他页面调用上面的过程,并传递一个fn方法进来,接受返回的数据*/Ext.ns("Ext.custom");Ext.custom.SearchButton = function(config){//定义按钮的显示样式this.triggerClass = 'x-form-search-trigger',this.defaultAutoCreate = {tag: "input", type: "button", size: "10", autocomplete: "off"},/***********************定义窗体的属性**************************//*** 窗体的宽* @type String*/this.windWidth = 200;/*** 窗体的高* @type String*/this.windHeight = 300;/*** 窗体的标题* @type String*/this.windTitle = null;/*** 是否把高设为自动* @type Boolean*/this.windAutoHeight = false;/*** 是否将宽设为自动* @type Boolean*/this.windAutoWidth = false;/*** 是否显示滚动条* @type Boolean*/this.windAutoScroll = true;/*** 传到window中的内容* @type Object*/this.windItem = null;/*** 从窗体上传过来的值* @type Object*/this.windArray = null;/*** 从窗体返回到文本框中的值,是否自定义格式,false:表示默认以逗号隔开,否则自定义格式并返回* @type Boolean*/this.isDefindValue = false;/**** @memberOf {TypeName}* @return {TypeName}*/this.windFn=null;/*******************定义属性**************************************//*** 只读属性*/this.readOnly = true;/*** 实际字段,也就说我们常说的隐藏值,一般由系统内部使用,或者用户输入的字段名称* @type:String*/this.valueField = null;/*** 显示字段,一般该字段值从系统里查出来并显示在控件里,用户易懂* @type String*/this.displayField = null;/*** 实际值* @type String*/this.values = null;/*** 显示值* @type String*/this.dispalyValue = null;/*** 根据valueField查出来的json数据保存在该字段里面* @type json*/this.jsonData = null;/**** @type 正则表达式*/this.regex = null;/*** 该类型为输入数据的类型,具体的参数如下:* 0-任意字符;1-数字;2-正数;3-负数;4-非0;5-字母;6-小写字母;7-大写字母;8:中文字;9:非中文字;其他。
ExtJs控件的定义及使用方法(一)
ExtJs控件的定义及使用方法(一)此处有三种控件:1.单击搜索,打开一个窗口,呈现的是一个gridPanel,选中指定的数据后返回给搜索框。
2.单击搜索,打开一个窗口,呈现的是一个treePanel,选中指定的节点后返回数据给搜索框 3.单击一个按钮,弹出gridPanel,选中指定的数据后返回一组对象给按钮,然后再按钮所在页面对这些数据做处理。
-------------------------------------------------------------------------------------------------------------------控件一、单击搜索,打开一个窗口,呈现的是一个gridPanel,选中指定的数据后返回给搜索框。
----------------------------------------------------这里有四个js界面:分别是,第一个调用控件的界面showbrand.js。
第二个,控件调用界面Union_append.js界面。
第三个,控件的定义界面searchText.js界面。
第四个,显示选择数据的界面这是第一个界面showbrand.js主要是调用Union_append.js中的方法。
主要就是这句话:var_merchcp=corpInfoCombo();过程corpInfoCombo()是定义在Union_append.js中的。
然后单击搜索按钮,会弹出下面的对话框点击查询按钮,选择数据后,单击返回,会将display和value数据都传递给搜索框,返回的结果如下----------------------------------------------------具体流程如下:1、在showbrand界面调用控件var _merchcp=corpInfoCombo();跟踪代码进入searchText.js界面,searchText.js代码如下:-------------------------------------------------/*** 单位信息模式窗体查询** @return {}*/function corpInfoCombo(id) {if(id == undefined || id == null){id = Ext.id();}//调用cdbrand.js界面var panel = new ff.cd.cd.cdbrand({typeAll : 'all'});//调用了SearchText.js类,并return new Ext.custom.SearchText({columnWidth: .7,xtype : "searchtext",id : id,valueField : "corpid",//传递过去的value值displayField : "corpname",//显示在搜索框中的值fieldLabel : '单位信息',name:"corpname",width : 200,isDateType : false,isHighSearch : true,windItem : panel,//这个是必须的,接收panel,将panel作为参数传递到SearchText.js中,执行panel后会返回一个函数windArray()windArray:panel.windArray,//这里是传递从panel中接收过来的参数windArray函数windWidth : 600,windHeight : 400,layout : "fit",isDefindValue : false,anchor : '90%'});}------------------------------------------------------2、具体的SearchText.js类如下:/** title:条件输入框,根据用户所输入的条件查询出更能让用户易懂的信息并显示,同时查出来的其他信息用数组(array或者json)保留,** 将实际需要的值隐藏** 当设置isHighSearch=true时,在填充window里面的面板上必须要有如下方法(this.WindArray传到控件里面的数组)* @date:2010-09-06*/Ext.ns("Ext.custom");Ext.custom.SearchText = function(config){this.triggerClass = 'x-form-search-trigger',this.defaultAutoCreate = {tag: "input", type: "text", size: "10", autocomplete: "off"}, /*******1-1***********/this.initComponent = function(){Ext.custom.SearchText.superclass.initComponent.call(this);this.addEvents('select',/*** 在窗体打开之前,可通过该事件给改变传给窗体的值*/"beforeblur",/*** 在ajax访问后台之前,可通过该事件来设置ajax提交参数* @param object 该参数可以设置访问后台的url,也可以设置访问后台的参数*/"beforechange",/*** 在数据加载之后触发*/"afterchange",/*** 在窗体关闭前并返回之前触发,是否对返回的值自定义格式,或者触发自定义事件 */"beforeclose");this.updateEditState();var _this = this;this.window = function(){if(!this.menu){this.menu = new Ext.Window({title : this.windTitle,width : this.windWidth,height : this.windHeight,autoWidth : this.windAutoWidth,autoHeight : this.windAutoHeight,autoScroll : this.windAutoScroll,layout : 'fit',modal: true,resizable: false,parentObj:_this,flag : 0,listeners:{beforerender : function(){if(_this.windItem){this.add(_this.windItem.init());this.doLayout();}},beforeclose : function(){this.setSearchTextVal();_this.menu = null;}},/*** 设置将从SearchText传到window上的值*/setvalTowin : function(v){this.valTowin = v ;return this;},/*** 得到从text上传到window上的值return this.valTowin ;},/*** 设置文本框中的值*/setSearchTextVal : function(){if(!_this.isDefindValue)//isDefindValue 为false时表示默认的格式{var item = _this.windItem;if(item){var recordArray = item.WindArray();//得到json数组var valueArray = [];//得到实际值的数组var displayArray = [];//得到显示值的数组var vf = _this.valueField;var df = _this.displayField;if(recordArray){if(recordArray.length > 0){for(var i = 0;i < recordArray.length;i++){var record = recordArray[i];valueArray.push(recordArray[i][vf]);//循环将实际值添加到valueArray数组中displayArray.push(recordArray[i][df]);//循环将显示值添加到displayArray数组中}_this.setValues(valueArray);_this.setDisplayValue(displayArray);_this.setJsonData(recordArray);}}}}else{ //isDefindValue为true时表示自定义格式,可以在beforeclose时自己写方法自定义格式_this.fireEvent("beforeclose",this);//如果设置了自定义格式时,需要注册事件}},/*** 当窗体已经弹出来后就将flag设置为1,表示已经弹出过了,默认为0 表示没有弹出来过* 要设置这个值是因为blur事件会触发多次*/setFlag : function(v){this.flag = v;return this.flag;},/*** 得到flag的值*/getFlag : function(){return this.flag;}});}return this.menu;}};/*******1-1***********//*** ?* keyNav不懂是什么意思* @memberOf {TypeName}*/this.initEvents = function() {Ext.custom.SearchText.superclass.initEvents.call(this);this.onTriggerClick();},scope: this,forceKeyDown: true});};/*************9-9*****************/// privatethis.onDestroy = function(){Ext.destroy(this.menu, this.keyNav);Ext.custom.SearchText.superclass.onDestroy.call(this); };/*** ?* this.window不就是this.menu么* 当单击search框时触发的事件* @memberOf {TypeName}* @return {TypeName}*/this.onTriggerClick = function(){if(this.disabled){return;}this.window();this.onFocus();this.menu.show();};/*************9-9*****************//*** 不懂this.menu[method]是什么写法* @param {Object} method* @memberOf {TypeName}*///privatethis.menuEvents = function(method){this.menu[method]('select', this.onSelect, this);this.menu[method]('hide', this.onMenuHide, this);this.menu[method]('show', this.onFocus, this);},this.onSelect = function(m, d){this.setValue(d);this.fireEvent('select', this, d);this.menu.hide();},this.onMenuHide = function(){this.focus(false, 60);this.menuEvents('un');},/**********9-9**************//*** 失去焦点前* @memberOf {TypeName}*/// privatethis.beforeBlur = function(){var v = this.getRawValue();if(v){this.setValue(v);}}/**********9-9**************//**************3-3******************//*** 只读属性*/this.readOnly = true;* 实际字段,也就说我们常说的隐藏值,一般由系统内部使用,或者用户输入的字段名称* @type:String*/this.valueField = null;/*** 显示字段,一般该字段值从系统里查出来并显示在控件里,用户易懂* @type String*/this.displayField = null;/*** 实际值* @type String*/this.values = null;/*** 显示值* @type String*/this.dispalyValue = null;/*** 根据valueField查出来的json数据保存在该字段里面* @type json*/this.jsonData = null;/**** @type 正则表达式*/this.regex = null;/*** 该类型为输入数据的类型,具体的参数如下:* 0-任意字符;1-数字;2-正数;3-负数;4-非0;5-字母;6-小写字母;7-大写字母;8:中文字;9:非中文字;其他。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ExtJS4.0.7使用前的准备
红楼一梦红楼
目录
目录 (I)
一、选用工具 (1)
二、环境搭建 (1)
1、安装JDK() (1)
2、设置JDK的环境变量 (1)
3.安装MyEclipse9.0 (2)
4.配置tomcat (2)
5.在MyEclipse里搭建tomcat (2)
6.在MyEclipse里安装Spket插件 (7)
7.还应做简单的设置: (14)
一、选用工具
MyEclipse9.0、tomcat7.0.27、JDK1.7、spket1.6.23
二、环境搭建
1、安装JDK()
假设安装目录为: D:\Program Files\Java\jdk1.7.0_04
2、设置JDK的环境变量
计算机-->右键-->属性-->高级系统设置-->环境变量。
如图:
如果想让没个系统用户都能使用就选择“系统变量”;如果只想让当前用户使用则选择“xxx的用户变量”(其中xxx表示计算机用户名)。
然后单击新建,如图:
变量名:path(如果是系统变量,则不用新建,在系统变量栏里有的)
变量值:D:\Program Files\Java\jdk1.7.0_04\bin(Java安装目录下的bin目录,如果是系统变量,则在原来的变量值最后加“;”后输入该变量值)。
然后单击确定。
再单击新建,输入以下内容:
变量名:JAVA_HOME
变量值:D:\Program Files\Java\jdk1.7.0_04(Java安装目录)
依次单击确定即可。
3.安装MyEclipse9.0
4.配置tomcat
1)将tomcat7.0.27解压。
(假设解压到D:\Program Files\apache-tomcat-7.0.27)
2)设置环境变量
变量名:CATALINA_HOME
变量值:D:\Program Files\apache-tomcat-7.0.27(tomcat所在目录)
依次单击确定。
5.在MyEclipse里搭建tomcat
1)打开MyEclipse,然后单击:
Window-->Preferences-->MyEclipse-->Servers-->Tomcat-->Tomcat7.x。
出现图所示界面:
在Tomcat home directory栏单击Browse...
找到tomcat7.0.27安装目录,单击确定,如图:
得到如图所示界面:
记得将Enable选中,然后单击Integrated Sandbox,选中MyEclipse Tomcat6,选中Disable。
如图:
单击OK。
tomcat配置成功如图:
单击后将鼠标移到Tomcat7.x处出现下图:
只要tomcat的环境变量设置正确就可以启动tomcat了。
但我们还得配置虚拟路径,打开tomcat安装目录下的conf文件夹下的server.xml文件,如图:
其中path填写虚拟路径名,docBase填写WebRoot真实所在路径,reloadable填true表示当java代码改变重新保存编译后重启tomcat。
如:
对应的url:
搭建成功。
6.在MyEclipse里安装Spket插件
1)打开MyEclipse,单击Help,如图:
单击MyEclipse Configuration Center,单击Software,切换到Software栏:
在Browse Software窗口下单击add site
Name: spket
URL: /update
然后按OK就行了,接下来等finish后:
在Browse Software-->Personal Sites-->spket下出现了
在其上分别单击右键-->Add to Profile。
添加完之后会在该页面的右下角显示添加的选项,下面显示apply 3 changes,单击下面的apply 3 changes按钮,会自动安装和更新。
安装完后,重新启动myeclipse后,在window--preferences下会看到spket,如图:
安装成功以后依次单击Window->Preferences-->Spket-->JavaScript Profiles。
接下来在右边单击按钮new:
输入name:ExtJS,单击OK。
然后单击右边的Add Library。
选择ExtJS,单击OK。
在选中第二个ExtJS,单击右边Add File:
找到你存放ext-4.0.7-gpl处的build文件夹下的sdk.jsb3,然后单击打开。
将sdk.jsb3文件添加进去。
然后单击OK。
然后选中第一个ExtJS,单击右边的Default。
最后再单击General-->Editors-->File Associations,在File types处找到*.js并选中,然后在Associated editors出选择:
重启myeclipse,即可使用js编辑器。
可以将ext-4.0.7-gpl文件夹里需要的文件导入到自己的web工程,在开发时一般将整个ext-4.0.7-gpl文件夹导入到自己的web工程下的webroot目录下。
如下例:
这是工程目录结构
自己写的js文件:
可以看到已经带提示了,证明spket配置成功并生效了。
启动tomcat服务器,在浏览器输入:http://localhost:8080/extjs/example/HelloWorld.html 程序演示效果:
7.还应做简单的设置:
然后再自己的工程里任意打开一个js文件,在空白处单击右键出现:
将鼠标移到MyEclipse处,单击Manage Validation:
8.最后应该注意的事项:
使用过程中MyEclipse可能会出现神秘错误(主要是我还没弄清楚是怎么回事),这是如果不是提示退出MyEclipse即可点击OK,如果出现提示退出MyEclipse,就点击NO。
此文还存在许多不足,希望大家提出指正!谢谢!。