ext入门必学

ext入门必学
ext入门必学

EXT学习文档

ext-1.1

部分原创/部分整理

第一章 EXT入门

1.1 Ext简介

Ext在最开始的时候,是作为YUI的一个扩展存在的,所以那个时候它的名称是YUI.Ext,后来,Ext作为一个独立的项目进行开发,并不再依赖于YUI。适合企业级开发,能实现复杂的Layout布局,界面效果可以和backbase媲美,而且使用纯javascript代码开发。真正的可编辑的表格Edit Grid,支持XML和Json数据类型,直接可以迁入grid,有完整地说明文档。

1.2 下载Ext

如果你未曾下载过,那应从这里下载最新版本的Ext https://www.360docs.net/doc/e1670658.html,/downloads。针对你的下载需求,有几个不同的版本。通常地,最稳定的版本,是较多人的选择。最新的版本是Ext2.0,本教程使用ext-1.1版本。

下载解包后,我们可以查阅ext目录下的docs中的文档配合example下是些实例文件进行学习。在EXT目录中,package目录是ext所有类库文件,在ext-all.js文件中已经包含了该目录下所有的类。因此我们开发中只需要导入ext-all.js文件即可。Resources目录下有Ext所需要的图片文件和CSS样式文件。对于样式文件我们只用到ext-all.css一个文件即可,它包含了所有Ext中样式的定义。在样式文件夹中还有三个Ext主题样式文件xtheme-aero.css、xtheme-gray.css、xtheme-vista.css,我们可以选择自己喜欢的Ext风格,在今后我们会详细讲到。

1.3 第一个例子

我们开始第一个例子,可以帮助你了解Ext的开发。

(1)首先我们建立项目目录,如C:\example1。

(2)在example1目录下建立js和css两个目录,用于存放JS文件和CSS样式文件。

(3)为了节省空间我们只把需要的文件拷贝到项目中:

将EXT目录中resources\css\目录下的ext-all.css、xtheme-aero.css、xtheme-gray.css、xtheme-vista.css 文件拷贝到项目中CSS目录下。

将EXT目录中ext-all.js文件和adapter\ext\ext-base.js文件拷贝到项目中JS目录下。

拷贝EXT目录resources\中的images目录全部拷贝至项目目录中。

开发所必要的文件已经拷贝到项目中啦,以上导入操作今后不再提示。

接下来该编写代码来实现功能啦.Go...

(4)在js目录下新建hello.js,内容是:

Ext.onReady(function() {

Ext.get('mb1').on('click', function(e){

Ext.MessageBox.alert('提示', '你好,中国');

});

});

(5)在根目录建立hello.htm,内容是:

我们双击打开hello.htm页面,单击"点击我"按钮,你可以看弹出对话筐,效果如下:

Ext的界面很漂亮,可以替换传统的Alert(),我们分析以上代码。

先看hello.js文件,文件中Ext.onReady可能是你接触的第一个方法。这个方法是指当前DOM加载完毕后,保证页面内的所有元素能被scrīpt引用。你可删除Ext.get('mb1').on()那行,加入一些实际用途的代码试试:Ext.onReady(function() {

..............

});

其中Ext.get('mb1').on()函数为页面中名称是mb1的元素注册事件,这个例子中是个Button

当然可以是其他的元素。函数中有两个参数,第一个为要注册的事件名称,第二个是要执行的代码。

Ext.get('mb1').on('click', function(){.....})

也许你会觉察到我们并没有导入xtheme-xxx.css些文件的引用。这些文件是Ext提供的主题文件。我们在hello.htm文件中导入一个样式文件试一试效果。

双击该页面,单击"点击我"按钮,你会看到如下vista样式的效果

还有其他的样式效果,可以根据自己喜欢选择。

xtheme-aero.css

xtheme-gray.css 默认风格

第二章Ext的核心

2.1获取DOM的某个节点

大多数的Javascrīpt操作都需要获取页面上的某个元素(reference),好让你来做有趣的事情。传统的Javascrīpt方法,是通过ID获取Dom节点的:

var myDiv = document.getElementById('myDiv');

这毫无问题,不过这样单单返回一个对象(DOM节点),用起来并不是太强大和好用。为了要用那节点干点事情,你将会要写不少自定义的代码;另外,对于不同类型浏览器之间的差异,要你处理起来可真头大了。

进入Ext.element对象。元素(element)的的确确是Ext的心脏地带,--无论是访问元素(elements)还是完成一些动作,都要涉及它。Element的API是整个Ext库的基础,如果你时间不多,只想了解Ext中的一个类的话,Element一定是首选!

由ID获取一个Ext Element如下(获得ID为"myDiv"的元素):

var myDiv = Ext.get('myDiv');

再回头看看Element对象,发现什么有趣的东东呢?

★Element包含了常见的DOM方法和属性,提供一个快捷的、统一的、跨浏览器的接口(若使用Element.dom 的话,就可以直接访问底层DOM的节点。);

★Element.get()方法内置缓存处理(Cache),多次访问同一对象效率上有极大优势;

★内置常用的DOM节点的动作,并且是跨浏览器的定位的位置、大小、动画、拖放等等(add/remove CSS classes, add/remove event handlers, positioning, sizing, animation, drag/drop)。

这意味着你可用最小的代码来做各种各样的事情,这里仅仅是一个简单的例子(完整的列表在ElementAPI 中)。

在刚才我们获取好myDiv的位置中加入:

myDiv.highlight(); //黄色高亮显示然后渐退

myDiv.addClass('red'); // 添加自定义CSS类

myDiv.center(); //在视图中将元素居中

myDiv.setOpacity(.25); // 使元素半透明

2.2获取多个DOM的节点

通常情况下,不能由ID获取多个DOM的节点,有可能因为没设置ID,或者你不知道ID,又或者直接用ID 方式引用有太多元素了。这种情况下,你会不用ID来作为获取元素的依据,可能会用属性(attribute)或CSS Classname代替。基于以上的原因,Ext引入了一个功能异常强大的Dom Selector库,叫做DomQuery。

DomQuery可作为单独的库使用,但常用于Ext,你可以在上下文环境中(Context)获取多个元素,然后通过Element接口调用。幸运的是,Element对象本身便有Element.selcect的方法来实现查询,即内部调用DomQuery选取元素。如果想轻松地通过一次操作马上获取每一段

标签,全体执行它们的动作,可以这样做:

// 每段高亮显示

Ext.select('p').highlight();

DomQuery的选取参数是一段较长的数组,其中包括W3C CSS3 Dom选取器、基本XPatch、HTML属性和更多,请参阅DomQuery API文档以了解这功能强大的库的细节。

2.3响应事件

大家已经对onReady函数了解,即当页面加载后总会立即执行,功能较单一,这样的话,你便知道,如何响应某个动作或事件来执行你希望做的事情,做法是,先分配一个function,再定义一个event handler 事件处理器来响应。在第一章例子中hello.js文件:

Ext.onReady(function() {

Ext.get('mb1').on('click', function(e){

Ext.MessageBox.alert('提示', '你好,中国');

});

});

其中Ext.get('mb1').on()就是获取ID为'mb1'元素的引用,监听任何发生元素被单击的情况,并分配一个

function,以准备任何单击元素的情况。

正路来说,Element.select也能做同样的事情,即作用在获取一组元素上。下一例中,演示了页面中的某一段落被单击后,便有弹出窗口:

Ext.onReady(function() {

Ext.select('p').on('click', function() {

alert("你好,世界");

});

});

这两个例子中,事件处理的function均是简单几句,没有函数的名称,这种类型函数称为“匿名函数(anonymous function)”,即是没有名的的函数。你也可以分配一个有名字的event handler,这对于代码的重用或多个事件很有用。下一例等效于上一例:

Ext.onReady(function() {

var paragraphClicked = function() {

alert("你好,世界");

}

Ext.select('p').on('click', paragraphClicked);

});

到目前为止,我们已经知道如何执行某个动作。但当事件触发时,我们如何得知这个event handler执行时是作用在哪一个特定的元素上呢?要明确这一点非常简单,Element.on方法传入到even handler的function中。在我们之前的例子中,function是忽略这些参数的,到这里可有少许的改变,——我们在功能上提供了更深层次的控制。必须先说明的是,这实际上是Ext的事件对象(event object),一个跨浏览器和拥有更多控制的事件。例如,可以用下列的语句,恢复这个事件的指定的DOM节点:

Ext.onReady(function() {

var paragraphClicked = function(e) {

Ext.get(e.target).highlight();

}

Ext.select('p').on('click', paragraphClicked);

});

注意指定的是DOM节点,所以我们首先将其恢复成为适当的元素,然后执行欲完成的事件,这个例子中,我们看见段落是高亮显示的。第三章使用Widgets

Widget原意为“小器件”,现指页面中UI控件,除了我们已经讨论过的核心JavaScript库,现在的Ext 亦包括了一系列的最前端的JavaScirptUI组件库。以后将详细介绍一些最常用的widget为例子。

3.1MessageBox

你是否感到传统的消息窗口不太美观,想不想用其他更好的方式实现它呢come on …

Ext.MessageBox提供消息窗口的实现。

3.1.1 Alert

改写hello.js中代码为:

function init() {

//Alert窗口

Ext.get('mb1').on('click', function(){

Ext.MessageBox.alert('Status', '保存成功!', showResult);

});

function showResult(btn){

alert('你单击啦'+btn+'按钮');

};

}

Ext.onReady(init);

在hello.htm的BODY标签内加入元素:

在hello.js文件中我们用"Ext.get('mb1').on"为DOM中节点ID为"mb1"的绑定单击事件,单击后执行操作。Ext.MessageBox.alert方法有三个参数:第一个为消息窗口标题,第二个是显示消息文本,第三个是回调方法,上例中当单击消息窗口上按钮后,将单击的按钮信息返回给回调方法showResult来处理。

我们打开hello.htm文件,单击“Alert窗口”按钮运行效果。

3.1.2 Confirm

继续在hello.js的init函数中加入代码:

//Confirm窗口

Ext.get('mb2').on('click', function(e){

Ext.MessageBox.confirm('Confirm', '是否提交?', showResult);

});

在hello.htm的BODY标签内加入元素:

打开hello.htm文件,单击“Confirm窗口”按钮运行效果。

3.1.2 Prompt

继续在hello.js的init函数中加入代码:

//Prompt窗口

Ext.get('mb3').on('click', function(e){

Ext.MessageBox.prompt('Name', '姓名:', showResultText);

});

function showResultText(btn, text){

};

在hello.htm的BODY标签内加入元素:

注意:这里回调方法接受两个参数,第一个是按钮信息,第二个为所填写文本。

打开hello.htm文件,单击“Prompt窗口”按钮运行效果。

3.1.2 自定义信息窗口

继续在hello.js的init函数中加入代码:

//自定义窗口

Ext.get('mb4').on('click', function(e){

Ext.MessageBox.show({

title: 'Address',

msg: '请输入你的地址:',

width:300,

buttons: Ext.MessageBox.OKCANCEL,

multiline: true,

fn: showResultText

});

});

在hello.htm的BODY标签内加入元素:

现在,观察hello.js文件中MessageBox.show的调用。乍一看,这像一连串的参数传入到方法中,但仔细看,这是一个非常特别的语法。实际上,传入到MessageBox.show的只有一个参数:一个Object literal,包含一组属性和属性值。在Javascript中,Object Literal是动态的,你可在任何时候用{和}创建一个典型的对象(object)。其中的字符由一系列的name/value组成的属性,属性的格式是[property name]:[property value]。在整个Ext中,你将会经常遇到这种模式的语法。使用Object Literal的原因是什么呢?主要的原因是“韧性(flexibility)",随时可新增、删除属性,亦可不管顺序地插入。而方法不需要改变。这也是多个参数的情况下,为最终开发者带来不少的方便(本例中的MessageBox.show())。例如,我们说这儿的foo.action方法,有四个参数,而只有一个是你必须传入的。本例中,你想像中的代码可能会是这样的foo.action(null, null, null, 'hello').,若果那方法用Object Literal来写,却是这样,foo.action({ param4: 'hello' }),这更易用和易读。

MessageBox.show()中一属性“multiline: true"设置可以输入多行文本。运行效果如下图:

ext入门学习

Ext入门学习 一:Ext是什么 ExtJS是一个javascript框架,用于在客户端创建丰富多彩的web应用程序界面。ExtJS 可以用来开发RIA也即富客户端的AJAX应用。 ExtJs最开始基于YUI技术,由开发人员Jack Slocum开发,通过参考Java Swing等机制来组织可视化组件。 二:Ext能干什么 主要是用来制作富客户端的Web应用。包括但不限于: (1)可以动态创建web组件,动态维护web的Dom对象 (2)灵活地获取界面组件对象,方便对对象的操作和控制 (3)大量的组件对象帮助构建复杂的web应用 (4)友好的Ajax支持 (5)完善的事件处理机制 三:Ext有什么 四:Ext的HelloWorld 1:环境准备 (1)到官网上下载最新的版本,目前是ext-3.3-beta (2)下载后解压后,看看里面的包结构: adapter:负责将里面提供的第三方底层库(包括Ext自带的底层库)映射为Ext所支持的底层库。 build:压缩后的ext全部源码(里面分类存放)。 docs: API帮助文档。 exmaples:提供使用ExtJs技术做出的小实例。 resources:Ext UI资源文件目录,如CSS、图片文件都存放在这里面。 package:按包分类的源码 source:无压缩Ext全部的源码(里面分类存放) 遵从Lesser GNU (LGPL)开源的协议。Ext-all.js:压缩后的Ext全部源码。 ext-all-debug.js:无压缩的Ext全部的源码(用于调试)。

ext-core.js:压缩后的Ext的核心组件,包括sources/core下的所有类。 ext-core-debug.js:无压缩Ext的核心组件,包括sources/core下的所有类。 (3)开发的时候只需要把resources包中的css和images放到common下面,还有把ext-all.js和adapter/ext/ext-base.js放入到js中就可以了 2:HelloWorld.html 五:Ext的面向对象简介 //相当于Java的package https://www.360docs.net/doc/e1670658.html,space("https://www.360docs.net/doc/e1670658.html,"); //完全使用Ext的创建对象语法太繁琐,还是用我们熟悉的js的语法来写 https://www.360docs.net/doc/e1670658.html,.Class1=function(){ this.aa = "cc"; this.t1=function(){ this.aa="t1"; }; }; https://www.360docs.net/doc/e1670658.html,.Class2=function(){ this.t1=function(){ this.aa="cc2 tt2"; }; }; //表示Class2继承Class1,这里面没有采用Ext的extends https://www.360docs.net/doc/e1670658.html,.Class2.prototype=new https://www.360docs.net/doc/e1670658.html,.Class1();

Linux入门教程(精华基础版)

第一章Linux入门教程 Linux,在今天的广大电脑爱好者心中已经不再是那个遥不可及的新东西了,如果说几年前的Linux是星星之火的话,如今Linux不仅在服务器领域的应用取得较大进展,而且在桌面应用领域也有越来越多的人选择使用。Linux的开放性和灵活性使它得以在实验室和其它研究机构中被用于创新性技术变革的前沿,现在Linux已经真正地向广大的电脑爱好者们敞开了大门。 只要你对Linux感兴趣,想要学习Linux,那么本教程将带你走进Linux的世界。 第一章初识Linux 在学习使用之前我们还是先来了解一下Linux吧。 Linux是什么?按照Linux开发者的说法,Linux是一个遵循POSIX(标准操作系统界面)标准的免费操作系统,具有BSD和SYSV的扩展特性(表明其在外表和性能上同常见的UNIX非常相象,但是所有系统核心代码已经全部被重新编写了)。它的版权所有者是芬兰籍的Linus B.Torvalds先生。 1991年8月这位来自芬兰赫尔辛基大学的年轻人Linus Benedict Torvalds,对外发布了一套全新的操作系统。 最开始的Linux版本是被放置到一个FTP服务器上供大家自由下载的,FTP服务器的管理员认为这是Linus的Minix,因而就建了一个Linux目录来存放这些文件,于是Linux这个名字就传开了,如今已经成了约定俗成的名称了。 下图就是Linux的吉祥物,一只可爱的小企鹅(起因是因为Linus是芬兰人,因而挑选企鹅作为吉祥物): Linux的吉祥物 闲话少叙进入正题。我们主要的学习方向有如下几点:

1.熟练掌握基本命令。每个系统都有自己特定的语言环境,Linux也不例外,只有熟悉并熟练掌握Linux的常用基础命令才可以深入学习。 2.系统管理及运用。系统的管理包括启动、用户、进程以及安全管理等等。大体上都是通过命令来进行配置文件及脚本文件的。 3.源码的学习和研究。由于内核的相似,Linux同UNIX一样都是由C语言开发而成的,所以了解UNIX的朋友学习起来相对容易。 4.内核开发。现在的很多服务器系统,网络设备,安全防护软件以及手机系统和掌上PDA 的操作管理系统都是由Linux编程开发而成的,所以内核的开发学习当然必不可少。 5.数据库及服务器领域。如今Linux做的服务器在市场中占有率第一的位置无可动摇,其中包括:WWW服务器,FTP服务器,mail服务器,数据库服务器等等多种服务器。 了解了学习的目的和方向后,下面以Red Hat9.0为例来介绍Linux的安装过程。 第一步:设置电脑的第一启动驱动器为光盘驱动器,插入Linux系统光盘启动计算机。 第二步:系统会自动进入到Linux安装初始画面,第一要选择安装的方式,其中如果要选择文本界面安装需要在引导命令处输入命令linux text,如果要选择图形界面安装的话直接安回车Enter。笔者使用的是图形安装。 第三步:选择完安装方式后便出现了光盘检测界面,出现这个对话框的意思就是在安装之前确定系统盘是否有损坏,如果确定没有损坏选择“Skip”直接跳过检测进入下个环节。如果选择“OK”则自动转到光盘检测程序自动检测光盘。对于初次接触Linux的朋友,还是建议您在安装之前先检测下系统安装光盘,省去在安装过程中所带来的不便。 第四步:检测完光盘后会出现Linux的软件介绍说明以及选择系统语言的对话框,选择“简体中文”,当然如果你精通别的语言也是可以选择其他语言进行安装和使用的。 第五步:键盘以及鼠标设置。在选项中提供了多种型号,品牌,接口和语言的键盘和鼠标,根据你现所用的键鼠进行对应选择。选择完毕后单击“下一步” 第六步:安装类型。其中包括“个人桌面”,“工作站”,“服务器”,“定制”。四种类型名称不同,内容大同小异。由于篇幅所限这个会在日后的讲座中给大家详细介绍。 第七步:磁盘分区设置。其中包括两个选项,“自动”和“手动”。自动分区会将所有的整个硬盘按照容量大小平均分区格式化,适合没有装任何资料的新电脑,但如果你在这之前装有其他系统,或是其他分区中存在的数据的话,建议您还是“手动分区”,这样不会丢失您原来的文件数据。 第八步:新建分区。在图形界面下比较直观,一般都会显示出你硬盘的容量,厂商等相关信息。直接点击“新建”来创建新的分区。

Extjs教程_第四章_按钮、菜单和工具栏

第四章按钮、菜单和工具栏 那些每个程序中的幕后英雄都是最简单的东西,如按钮、菜单和工具栏。在这章里,我们将学习如何把它们添加到自己的应用里。 我们的示例将会包含一些不同种类的按钮,有的有菜单,有的没有菜单。一个按钮外观上看可以是一个图标或者一段文本又或者两者兼而有之。工具栏里可以包含一些机械元素,如空格和分隔符,用来组织工具栏中的按钮。 我们还会介绍如何让这些元素对用户的交互做出反应。 适应各种场合的toolbar(工具栏): 几乎所有的Ext组件——面板、窗口、表格都可以容纳一个顶部或者底部的toolbar。Ext使得toolbar在渲染时添加到任何DOM元素中。toolbar是一个非常灵活有用的组件,可以在任何应用中使用。 ?Ext.Toolbar:按钮的主要容器; ?Ext.Button:建立一个按钮并提供交互功能; ?Ext.menu:一个菜单。 Toolbars(工具栏): 我们的第一个工具栏将独立渲染在页面中。我们将分别添加一些主要的按钮类型,然后做分别的研究: ?Button——tbbutton:这是我们都熟悉的默认的按钮类型; ?Split Button——tbsplit:split button中包含了一个可选菜单并提供默认的按钮动作。这种按钮被用在为按钮添加多个可选项的时候。当然,显 示给用户的是最常用的默认选项; ?Menu——tbbutton+menu:Menu(菜单)其实就是一个用菜单配置项来配置的按钮。 Ext.onReady(function(){ new Ext.Toolbar({ renderTo: document.body, items: [{ xtype: 'tbbutton', text: 'Button' },{ xtype: 'tbbutton',

ExtJs可视化设计教程_ext_Designer_Sencha_Architect

这一个别指导最与相关?Ext 设计者,1. x。 Ext 设计者是作什么的? 和设计者建筑网络应用UI 和设计者展开UI 成份 对数据连接 输出一个计画 Ext 设计者是作什么的? 设计者为Ext JS 网络申请是图解式使用者接口建立者。它的简单易用累赘和下降环境促使你很快地设计原型你的申请接口成份,把接口成份连结到你的数据,而且为每个成份输出很好形成、物体导向的密码。 程序师和非程序师一样能使用设计者在帮助使更快速地被开始而且使较快速的重复成为可能的计画的申请设计上合作。与设计者在一起,你能: 很快地而且容易地建立复杂的表格。 变化成份地面区划和以货易货控制用钮扣的点击的类型。 关于写落实密码、,而非样板文件UI 密码的焦点。 另外数据 对于关于设计者和Ext JS 的较多资讯: 看这?设计者示范?对于对设计者的快介绍。 对于关于的资讯最近的设计者释放和更新,见到这?设计者Changelog。 如果你对Ext JS 很新,见到成份和容器模型数据在这?Ext JS 概观。 为关于任何Ext JS 班级或方法的细节,见到这?Ext JS 美国石油协会叁考。 和设计者建筑网络应用UI 设计者被设计连同你的现有发展环境和工具被用。它不是日蚀或你的喜爱本文编者的一个替换。被设计者产生的密码能进入你的现有IDE 之内被进口,而且你能在你的IDE 之内的设计者的外面或与你的选择的编者编辑UI 落实文件。 当使用设计者,你: 在设计者帆布上展开你的UI 成份。 配置成份。 连接到你的数据商店。 输出你的计画。 实现你的事件处理和习惯方法在这产生。js 申请。 重要的!?当你第一次输出你的计画,两个Javascript 文件为你的计画的每个最高阶层的成份被产生。文件与这。ui.js 延长为UI 成份包含恶劣的班级。你在文件中扩充这一个基础班级与这。js 延长实现你的事件操作者和订制的功能。不要修正这。ui.js 文件直接地,每当你修正并且输出你的计画,它将会重写。 你能反复过这一个程序,直到你对你的UI 感到满意。只要你只作变化到这。js 申请,你能再产生UI 密码像你一样的许多次想要。 航行设计者 当你发射设计者,它自动地用空白的帆布显示一个新计画。 工具箱-包含你能使用建立你的UI 的所有成份。这些符合标准的Ext JS 班级。为关于每个班级的较多资讯,见到这?Ext JS 美国石油协会叁考。你能在帆布之上拖拉而且降低工具箱的成份。

非常好的gwt-ext培训教程

Gwt-Ext 的概述 GWT-Ext 是基于Google Web Toolkit(GWT)和ExtJs 的功能强大的网页开发控件库。它非常适用于进行纯Java 语言的富Internet 应用的快速开发。本系列文章将详细讲解GWT-Ext 的基本结构和功能特点,并通过代码示例来演示该技术的具体实现。本文是该系列的第一部分,将带领您快速入门GWT-Ext,并演示如何快速搭建GWT-Ext 的开发环境。 概述 GWT-Ext 是基于Google Web Toolkit(GWT)和ExtJs 的功能强大的网页开发控件库。它扩展了GWT,在ExtJs 的基础上实现了有排序功能的表格(Grid)、分页、过滤,支持有拖拽功能的树,高度可定制的组合下拉框(Combobox)、目录、对话框、表单(Form)以及功能丰富、强大且易用的API。GWT-Ext 拥有GNU Lesser General Public Licence (LGPL)(请参阅参考资料),V3.0 的许可证。因此它是一个非常灵活,允许在开源和商业中应用的控件库。 GWT 的介绍(请参阅参考资料)已经非常丰富,我们这个系列主要关注在GWT-Ext 的介绍和应用上。GWT-Ext 是在GWT 和ExtJs 的基础上对表现层的进一步封装。我们可以理解GWT 提供了Ajax 的一套基础框架,而ExtJs 提供了以JavaScript 和CSS 样式表为基础的非常丰富的表现层接口。那么GWT-Ext 就是在GWT 的基础上,将ExtJs 的JavaScript 接口映射或者封装为Java 的接口。在Java 的环境下开发和调试开发表现层,可以大大提高开发的速度。 回页首 GWT-Ext 开发环境搭建 在这个系列中,将通过示例的方式,一步步地介绍如何搭建一个GWT-Ext 的开发环境。本章将通过图解与代码结合的方式搭建演示平台框架,并且演示如何部署这个平台到Tomcat 容器中。 下载开发环境 我们将使用Eclipse 和插件Cypal Studio 来搭建控件演示平台。Cypal Stutio 是一个GWT 成熟的开发工具。它能非常方便地帮助我们搭建GWT 的开发以及调试环境,并且能够实现编译和打包的工作,省去了开发GWT 过程中很多繁琐的过程。 需要下载的产品和技术请参阅参考资源中的“获得产品和技术”部分。 安装Cypal Studio 插件 解压Eclipse 到本地硬盘,同时解压cypal.studio.for.gwt-1.0.zip 到Eclipse 的plugins 目录下。然后解压下载的gwt-windows-1.5.0.zip 。最后,启动Eclipse 。 选择Eclipse 目录Window >Preferences > Cypal Stutio,填写GWT 相关的信息如图1所示。GWT Home 填写GWT 的解压根目录。如果Java VM 的要求较高,可以从512M 提高到1024M 。如图1 所示。

extjs入门案例大全

Ext.onReady(function(){ var cm = new Ext.grid.ColumnModel([ {header:'编号',dataIndex:'id'}, {header:'名称',dataIndex:'name'}, {header:'描述',dataIndex:'descn'} ])。 var data = [ ['1','name1','descn1'], ['2','name2','descn2'], ['3','name3','descn3'], ['4','name4','descn4'], ['5','name5','descn5'] ]。 var ds = new Ext.data.Store({ proxy:new Ext.data.MemoryProxy(data), reader:new Ext.data.ArrayReader({},[ {name:'id'}, {name:'name'}, {name:'descn'} ]) })。 ds.load()。 var grid = new Ext.grid.GridPanel({ ds:ds, cm:cm, width:300, height:400, renderTo:'grids', tbar:[ { xtype:'datefield' } ] })。 grid.render()。 })。 Ext.onReady(function(){ new Ext.Panel({renderTo:"hello",title:"第一个

",width:300,height:300,html:'

Hello World

'})。 })。 TabControl Ext.onReady(function(){ new Ext.TabPanel({renderTo:"hello",width:300,height:200,items:[new Ext.Panel({title:"面板1",height:30}),new Ext.Panel({title:"面板2",height:30}),new Ext.Panel({title:"面板3",height:30})]})。 })。 总结: Ext.onReady(function(){ new Ext.Panel({ renderTo:"hello", title:"面板", html:'面板内容', height:100, width:200 })。 })。 创建按钮事件: new Ext.Button({ renderTo:"hello", text:"添加", pressed:true, height:30, handler:Ext.emptyFn })。 new Ext.Viewport({ layout:"border", items:[{region:"north",

JAVA.Extjs.Hibernate.Web开发应用免费教程集锦

JAVA/JSP/C++: C++程序设计原理与实践(中文高清电子书) https://www.360docs.net/doc/e1670658.html,/bbs/showtopic-645.aspx Visual.C++开发实战宝典(源码+视频) https://www.360docs.net/doc/e1670658.html,/bbs/showtopic-767.aspx Visual C++从初学到精通(源码+视频+PPT) https://www.360docs.net/doc/e1670658.html,/bbs/showtopic-766.aspx 你必须知道的495个C语言问题(高清pdf电子书) https://www.360docs.net/doc/e1670658.html,/bbs/showtopic-731.aspx FreeMarker应用指导(中文PDF电子书) https://www.360docs.net/doc/e1670658.html,/bbs/showtopic-708.aspx Java范例开发大全(视频教程+实例源码) https://www.360docs.net/doc/e1670658.html,/bbs/showtopic-687.aspx JAVA核心基础视频教程展示 https://www.360docs.net/doc/e1670658.html,/bbs/showtopic-625.aspx JAVA从入门到精通.山寨QQ项目 https://www.360docs.net/doc/e1670658.html,/bbs/showtopic-321.aspx 中国人民银行企业培训视频教程(JAVA方向) https://www.360docs.net/doc/e1670658.html,/bbs/showtopic-499.aspx 7K月薪面试题之交通灯管理系统 https://www.360docs.net/doc/e1670658.html,/bbs/showtopic-382.aspx

ExtJs学习实例

ExtJs2.0学习系列(1)--Ext.MessageBox 发布时间:2008-8-7 大家都知道,刚开始搞extjs的时候,很是有点困难,所以本人在新手刚入门后准备了这个系列的文章。 个人认为用extjs做后台很不错,布局比较完美! 1.Ext.MessageBox.alert()方法 有四个参数,为简单起见,主要介绍前面三个参数: alert( title , msg , function(){} ) 其中title,msg为必选参数,function为可选参数,在关闭弹出窗口后触发。 Ext.MessageBox.alert("title","msg"); Ext.MessageBox.alert("title","msg",function(){alert("关闭对话框后弹出!")}); 2.Ext.MessageBox.confirm()方法 基本上同alert()方法一模一样。 注意这点: Ext.MessageBox.confirm("title","msg",function(e){alert(e);}); 这个参数e是什么?它是你点击的弹出框的按钮的值,三种值: yes,no,cancel.Alert()方法也是如此,不过只有两种值:ok,cancel. 3.Ext.MessageBox.prompt()方法 有六个参数,比前面alert方法多一个返回值和是否多行。 Ext.MessageBox.prompt("title","msg"); Ext.MessageBox.prompt("title","msg",function(e,text){alert(e+"-"+text );}); //输入"qianxudetianxia",点击ok按钮,弹出ok-qianxudetianxia Ext.MessageBox.prompt("title","msg",function(e,text){alert(e+"-"+text );},this,true); //true为多行,this表示作用域 4.Ext.MessageBox.show()方法 功能很强大,采用config配置形式,比前面的方法使用更方便。 参数很多,在此列举最常用的配置参数: 1.animEl:对话框弹出和关闭时的动画效果,比如设置为“id1”,则从id1处弹出并产生动画,收缩则相反 2.buttons:弹出框按钮的设置,主要有以下几种:Ext.Msg.OK, Ext.Msg.OKCANCEL, Ext.Msg.CAMCEL, Ext.Msg.YESNO, Ext.Msg.YESNOCANCEL

ExtJS4.2入门教程

话不多说,进入正题,至于有的人想了解ext的优势神马的,自己百度去吧! 一、exit的配置。(注意:本文讲解的是Ext js4.2.1,不同版本部署的js包名有微小差别) 因为只是简单学习,方便新手入门,咱们只引入3个基本包。 ext-all.css ext-all.js Ext.Base.js 怎么引入? 二、示例。 1.helloworld,呵呵,学习程序嘛,咱们都是从helloworld开始的! 效果:

2.创建一个面板 Ext.onReady(function(){ //创建一个面板 var myPanel = new Ext.Panel({ renderTo:Ext.getBody(), title:'哈哈哈', width:300, height:300, html:'test面板' }); });

效果: 3.创建一个tabpanel var panel = new Ext.TabPanel({ renderTo:Ext.getBody(), width:300, height:200, activeTab:0, items:[new Ext.Panel({ title:"面板1", height:30, html:'面板1内容!' }),new Ext.Panel({ title:"面板2", height:30,

EXTjs入门

入门 环境要求 浏览器 ExtJs支持所有主要的网络浏览器,从IE6到最新版本的谷歌浏览器,在开发调试工程中,我们推荐您使用: 这篇教程假设你使用的是最新版本的谷歌浏览器。如果你没有,花一点时间来安装它,并自己熟悉其开发工具。 服务器 尽管不是必须,我们建议你使用本地网络服务器。由于XHR 在本地文件时大多数浏览器有协议限制。我们建议安装: Apache安装启动后,通过浏览器访问localhost,你应该看到一个Apache启动成功网页。 Ext JS 4 SDK 下载SDK解压到服务器WEB目录的新建文件夹“ExtJS”下,不清楚服务器的WEB目录请参考服务器的手册。这个路径和操作系统有关。一般来说Apache的WEB目录为:

浏览http://localhost/extjs/index.html看到Ext的欢迎页面就算安装成功了。 应用构架 基本结构 尽管不是强制的,下面列出的所有建议应看作是你的指导方针保证您应用是有效组织、可扩展和可维护的。以下是建议的Ext目录结构为:

不要着急立即完成所有这些目录,现在让我们专注开发Ext 应用必要的最少代码。我们将创造一个基本的"Hello Word"应用:称为“Hello Ext”。在您的网页根目录创造下列目录和文件。 将包含Extjs SDK的Extjs文件夹放到helloext目录下。 典型的Ext应用包含单一的Html文档--index.html文件:

下面是应用程序逻辑:---app.js 打开浏览器浏览http://localhost/helloext/index.html。将看到一个面板标题为"Hello Ext",内容为"welcome"。 动态加载 ExtJS4支持延迟-动态加载。例如Ext.create创建了一个Ext.container.Viewport实例。在Ext.create被调用时,加载器首先减产Ext.container.Viewport是否定义。没有定义则

ExtJS6.0开发培训

一、EXT5 ext5的主题是用SASS(点击进入)和Compass(点击进入)编写的。 在ext5中,仅仅通过更改SASS的变量值,就可以将几乎所有的组件样式定制了,包括颜色,字体,边框,背景。 本文介绍了如何创建一个在多应用中可分享的定制化主题。 1.环境要求 Sencha Cmd 5 这是一个命令行工具,用于部署Ext JS应用,创建一个Ext JS 5主题,你必须拥有Sencha Cmd 5 或更高版本 注意:Sencha Cmd 5 已经预安装了SASS和Compass,如果你的电脑已经安装了,请卸载掉自己的。 Ruby 安装ruby环境(点击进入)用1.9.3版本 Ext JS 如果你本地有Ext JS SDK,解压后在本地路径下执行Cmd命令就行。 不过我们已经不用下载Ext JS 了,你可以用“-ext”命令来自动下载最新版的Ext JS 5!我们这次就用这个命令来做。 2.创建自定义主题 如上所述你需要安装ruby,cmd工具,就可以开始制作主题了 创建一个工作空间 第一步是用Sencha Cmd创建一个你自己的工作空间 [ruby]view plaincopyprint? 1.cd /d E:\ext 2.sencha generate workspace-ext my-workspace 如果你想使用一个下载好的SDK或本地的一个SDK副本,在命令前面加上你解压的Ext JS SDK的路径就可以了 [ruby]view plaincopyprint? 1.sencha -sdk~/sencha-5.0.0 generate workspace my-workspace 1. sencha -sdk C:\Users\zj\Desktop\ext-5.1.0-gpl\ext-5.1.0 generate workspace D: \EXT\Sencha\Cmd5\Sencha\Cmd\work\ZJ 生成的工作空间将利用脚手架生成一个Sencha目录,让我们进去看看 [ruby]view plaincopyprint? 1.cd my-workspace 如图: “ext” --- 包含了Ext JS SDK “packages” --- EXT JS语言环境和主题包 生成一个App来测试主题

ExtJs2.0学习系列(6)--Ext.FormPanel之第三式(ComboBox篇)

ExtJs2.0学习系列(6)--Ext.FormPanel之第三式(ComboBox篇) 前言:说句实话,此extjs系列的文章在博客园中的热度不高,可能是学这玩意的人不多吧,但是我觉得有这么个系列的文章对于中国朋友非常有帮助!请大家支持! 上篇ExtJs2.0学习系列(5)--Ext.FormPanel之第二式中我们讨论了下fieldset和表单验证的知识,今天我们接着深入解析表单元素中ComboBox组件的使用。会涉及 到.net简单服务器数据交互,但暂不做深入讨论,以后会详细分析服务器交互相关,不过可能要等较长一段时间,呵呵! 5.服务器数据作为ComboBox的数据源实例 首先从服务器获取json数据: //cs后台代码,简单起见,示例而已,要主要字符串格式(新手注意,下面的代码放在类里面,不是放在方法里) public string ServerData="['湖北','江西','安徽']"; //aspx前台js介绍代码 Ext.onReady(function(){ var combo=new https://www.360docs.net/doc/e1670658.html,boBox({ store:<%=ServerData%>,//获取ServerData的string值,不要用""引起来,否则就不是object数据,而是字符串,这是一个很巧妙的关键点:把服务器的字符串转化为js 的object数据,是不是超级方便。 emptyText:'请选择一个省份....', applyTo: 'combo' }); }); //aspx前台html代码 我们就通过<%=ServerData%>这样的方式获取到了服务器最简单的属性数据。问题来了,js和html 怎么调用c#后台

Extjs 4.2.0 MVC教程

Extjs 4.2.0 MVC 架构 内容: 1. 文件结构 2. 创建项目 3. 定义控制器 4. 定义视图 5. 控制Grid 6. 创建Model和Store 7. 通过Model保存数据 8. 保存到服务器端 大型客户端程序通常都难写,难组织,难以维护。项目经常由于增加功能,增加开发人员而很快失控。Ext JS 4提出新的项目结构,不仅组织你的代码,并且减少代码量。 我们的系统结构延续“类MVC模式”,第一次引入Models(模型)和Controllers(控制器)的概念。现在有很多MVC架构,他们或多或少有细微差别。以下是我们对MVC的定义: ?Model是字段和对应数据的组合(例如User Model有username和password两个字段)。 Models知道如何通过数据包(data package)持久化,还可以通过associations(联系)同其他 models关联。Models很类似于Ext Js 3里的Record类,通常与Stores一起将数据展现到grids和 其他components上。 ?View可以是任何类型的component,grids, trees和panels都是视图。 ?Controllers是一个特殊的地方,用来放使application工作的代码 - 可以是渲染视图的,初始化models的,或者其他的应用逻辑。 在这篇文档中我们将创建一个管理用户数据的简单应用,最终你将指导如何使用Ext JS 4应用架构去组织你的应用。 对系统架构来说,提供结构和保持一致性,与实际的类和framework代码同样重要。遵循我们的惯例可以带来一系列非常重要的好处: ?所有的应用都以同一种方式工作,所以你只需要学习一次。 ?不同应用之间可以共享代码,因为他们都以同种方式工作 ?你可以用我们的build工具来创建你的系统的优化版本供production使用 1. 文件结构 ------------------------------------------------------------------------------------------------------------ Ext JS 4 对所有应用定义相同的目录结构。关于应用的基本文件结构的详细解释请参考Getting Started Guide. 应用MVC结构,所有的类都在app/文件夹下,依次包含子文件夹来命名你的models, views, controllers和stores。以下是我们做完这个简单的例子后,最终的文件结构:

ext基础核心结构

一.ExtJS基础及核心结构 目 录 1.ExtJS简介 (2) 2.ExtJS目录详解 (2) 3.开始第一个ExtJS (3) 4.Ext版HelloWord (3) 4.1 非常有用的Ext开发工具 (5) 5.Ext框架基础及核心简介 (5) 5.1.Ext类库简介 (5) 5.2.Ext的组件 (7) 5.3.组件的使用 (8) 5.4.组件的配置属性 (11) 5.5.ExtJS 组件的事件处理 (12) 任务和总结: (14) 蓝杰 陈九龙 QQ:89715761

1.ExtJS简介 ExtJS是一个Ajax框架,是一个用javascript写的,用于在客户端创建丰富多彩的web应用 程序界面。ExtJS可以用来开发RIA也即富客户端的AJAX应用,下面是一些使用ExtJS开发的 应用程序截图: ExtJS是一个javascript编写的,主要用于创建前端用户界面,是一个与后台技术无关的前端Ajax框架,因此,可以把 ExtJS 用在.Net、java、php等各种开发语言的开发应用中。 2.ExtJS目录详解 要使用ExtJS,首先要得到ExtJS库文件,Ext是一个开源的框架,可以直接从其官方网站下载(网址:https://www.360docs.net/doc/e1670658.html,/products/extjs/download.php ),进入下载页面,下载Ext JS 2.2.1 SDK到本地,解压后的目录如下图所示: adapter:将提供的第三方的低层库(包括Ext自带的底层库)映射为Ext所支持的底层库; air:Ext2.0后版本新增的用于开发桌面应用的一个类库;

build:压缩后的Ext全部源代码(里面分类存放); docs:Ext API帮助文档; examples:使用Ext技术做出的示例; resources:ExtUI资源文件,如css、images文件; source:无压缩的Ext全部源代码(里面分类存放); ext-all.js:压缩后的Ext全部源代码; ext-all-dubug.js:无压缩的Ext全部源代码(用于调试); ext-core.js:压缩后的Ext核心组件,包括source/core下的所有类; ext-core-debug.js:无压缩的Ext核心组件,包括source/core下的所有类 3.开始第一个ExtJS 应用ExtJS需要在页面文件中引入extjs的式样文件及库文件。式样文件为:resources/css/ext-ass.css,extjs的库文件主要有两个:adapter/ext/ext-base.js和ext-all.js.其中ext-base.js表示框架基础库,ext-all.js是extjs的核心库。Adapter表示适配器,也就是说可以有多种适配器,因此,可以把adapter/ext/ext-base.js换成adapter下面的其它类库如:adapter/jquery/ext-jquery-adapter.js或者 在ExtJS的库文件及页面文件全部加载完毕后,ExtJS会执行Ext.onReady 中指定的函数,因此,一 4.Ext版HelloWord 是不是觉得到了现在,我们还没有看到Ext究竟有什么好处?Ok,下面我们就开始我们地一个真正

Extjs简介

extjs 目录 编辑本段 ExtJS是一种主要用于创建前端用户界面,是一个与后台技术无关的前端ajax框架。 功能丰富,无人能出其右。 无论是界面之美,还是功能之强,ext的表格控件都高居榜首。 单选行,多选行,高亮显示选中的行,推拽改变列宽度,按列排序,这些基本功能咱们就不提了。 自动生成行号,支持checkbox全选,动态选择显示哪些列,支持本地以及远程分页,可以对单元格按照自己的想法进行渲染,这些也算可以想到的功能。 再加上可编辑grid,添加新行,删除一或多行,提示脏数据,推拽改变grid大小,grid之间拖拽一或多行,甚至可以在tree和grid之间进行拖拽,啊,这些功能实在太神奇了。更令人惊叹的是,这些功能竟然都在ext表格控件里实现了。 呵呵~不过ext也不是万能的,ext没有默认的统计功能,也不支持excel,pdf等导出数据。 编辑本段 Ext发展史 1、第一只“出海”的YUI-Ext只是作者Jack打算对基于BSD协议的Yahoo!UI库进行自定义的扩展,但后来一度风头盖过其父辈YUI,足以说明大家对它的热情,很多人把它投入项目人并不十分了解它。分析人士打

了一比喻:就好比尚未谋面,并不了解一个人的家庭、教育、品行等背景,只因为他有一副精致漂亮的外观,就对其陷入了疯狂的倾慕之中。因此分析人士建议,在投入项目前,要认真仔细地了解EXT的内在原理和与其他Ajax库不同地方。 2、在2006年初,Jack Slocum(杰克斯·洛克姆 ) 就一套公用设施扩建为Yahoo! User Interface (YUI) 库而工作。这些扩展很快组织成一个独立的库代码并以“yul-ext"的名义下发布。 3、在2006年秋天,Jack发行了版本为0.33的yui-ext,而最终被证明为最后版本的代码,根据这名字(下开放源代码DSB许可)。在年底之前,这个库已大受欢迎, 名字被简化为Ext,反映了它作为一个框架的成熟和独立。 该公司成立于2007年初,Ext现在为双执照,使用LGPL和一个商业执照。 4、在2007年4月1日,发布1.0正式版。 5、官方在2009年4月14-16日的首次Ext Conference中发布了Ext 的3.0 RC版本。 6、2009年5月4日,Ext的3.0 版本发布。 7、2010年1月8日,ExtJS已发展涵盖美国、日本、中国、法国、德国等全球范围的用户,现在的版本为Ext-3.2.0 8、2010年6月15日,当开发者访问著名的JavaScript库ExtJS网站,会发现自己被重导向到另一个不熟悉的网址和界面sencha。原来,,ExtJS 项目已经与触摸屏代码库项目jQTouch和SVG处理库Raphael合并,后两个项目的创始人David Kaneda和Dmitry Baranovskiy也将加入ExtJS。此举是ExtJS为了应对HTML5等新趋势,加强丰富图形和触摸屏功能的重要举措。 编辑本段 什么是EXT 1、ExtJS可以用来开发RIA也即富客户端的AJAX应用,是一个用javascript写的,主要用于创建前端用户界面,是一个与后台技术无关的前端ajax框架。因此,可以把ExtJS用在.Net、Java、Php等各种开发语言开发的应用中。ExtJs最开始基于YUI技术,由开发人员JackSlocum开发,通过参考JavaSwing等机制来组织可视化组件,无论从UI界面上CSS 样式的应用,到数据解析上的异常处理,都可算是一款不可多得的JavaScript客户端技术的精品。

相关主题
相关文档
最新文档