`

[ExtJS2.1教程-5]ToolBar(工具栏)

    博客分类:
  • ext
EXT 
阅读更多
面板中可以有工具栏,工具栏可以位于面板顶部或底部,Ext中工具栏是由Ext.Toolbar类来表示。工具栏上可以放按钮、文本、分隔符等内容。面板对象中内置了很多实用的工具,可以直接通过面板的tools配置选项往面板头部加入预定义的工具栏选项。

这里工具栏主要用于面板中(panel,window等)
这里我们使用toolbar.js toolbar.html来进行演示

下面我们演示一下在window中应用工具栏
我们先创建一个window
Ext.onReady(function(){
	var win = new Ext.Window({
		width:400,
		height:300,
		title:"窗体"
	});
	win.show();
});


我们可以看到右上角有一个关闭按钮 那其实就是一个头部工具栏按钮
window中有一个tools的配置选项,他的作用就是定义这个头部的工具栏,他接收的是一个数组
数组中的元素包含id,handle等一系列属性,其中id的值是通过Ext事先定义的一系列中选择填入的,handler是对应的响应事件。handler可以传递三个参数 Event,toolEl,panel
Ext.onReady(function(){
	var win = new Ext.Window({
		width:400,
		height:300,
		title:"窗体",
		tools:[{
			id:"toggle"
		},{
			id:"close"
		},{
			id:"help"
		}]
	});
	win.show();
});



这里还有一些属性比如qtip,on这里的on很特殊,可以是我们自定义的一些事件 比如鼠标移入等等具体可以参见addListener
这里需要说明的是在使用qtip之前需要调用Ext的qtip初始化方法
Ext.onReady(function(){
	Ext.QuickTips.init();
	var win = new Ext.Window({
		width:400,
		height:300,
		title:"窗体",
		tools:[{
			id:"toggle",
			handler:function(e,t,p){
				
				},
			qtip:"hello"
		},{
			id:"close"
		},{
			id:"help"
		}]
	});
	win.show();
});



tbar属性是顶部工具栏,可以有数组和object
我们先来看看ToolBar类,ToolBar的构造方法可以通过object或者数组类型的配置选项进行创建
Ext.onReady(function(){
	Ext.QuickTips.init();
	var win = new Ext.Window({
		width:400,
		height:300,
		title:"窗体",
		tools:[{
			id:"toggle",
			handler:function(e,t,p){
				
				},
			qtip:"hello"
		},{
			id:"close"
		},{
			id:"help"
		}],
		tbar:new Ext.Toolbar({
			width:200,
			height:50
		})
	});
	win.show();
});




我们看到这里面得工具栏 不过我们并没有添加工具,下面我们向里面添加一些工具项。
这里我们通过add方法进行添加
Ext.onReady(function(){
	Ext.QuickTips.init();
	var win = new Ext.Window({
		width:400,
		height:300,
		title:"窗体",
		tools:[{
			id:"toggle",
			handler:function(e,t,p){
				
				},
			qtip:"hello"
		},{
			id:"close"
		},{
			id:"help"
		}],
		tbar:new Ext.Toolbar({
			width:200,
			height:50
		})
	});
	win.show();
	win.getTopToolbar().add(new Ext.Toolbar.TextItem("titem"))
});

由于只是文本item所以没有什么按钮效果

我们再来加几个
Ext.onReady(function(){
	Ext.QuickTips.init();
	var win = new Ext.Window({
		width:400,
		height:300,
		title:"窗体",
		tools:[{
			id:"toggle",
			handler:function(e,t,p){
				
				},
			qtip:"hello"
		},{
			id:"close"
		},{
			id:"help"
		}],
		tbar:new Ext.Toolbar({
			width:200,
			height:50
		})
	});
	win.show();
	win.getTopToolbar().add(new Ext.Toolbar.Fill());
	win.getTopToolbar().add(new Ext.Toolbar.TextItem("titem"));
	win.getTopToolbar().add(new Ext.Toolbar.Button({text:"bitem"}));
	
});


这里Fill很有意思 通过他我们可以实现对齐方式

Ext.onReady(function(){
	Ext.QuickTips.init();
	var win = new Ext.Window({
		width:400,
		height:300,
		title:"窗体",
		tools:[{
			id:"toggle",
			handler:function(e,t,p){
				
				},
			qtip:"hello"
		},{
			id:"close"
		},{
			id:"help"
		}],
		tbar:new Ext.Toolbar({
			width:200,
			height:50
		})
	});
	win.show();
	win.getTopToolbar().add(new Ext.Toolbar.Fill());
	win.getTopToolbar().add(new Ext.Toolbar.TextItem("titem"));
	win.getTopToolbar().add(new Ext.Toolbar.Spacer());
	win.getTopToolbar().add(new Ext.Toolbar.Separator());
	win.getTopToolbar().add([new Ext.Toolbar.Spacer(),new Ext.Toolbar.Spacer()]);
	win.getTopToolbar().add(new Ext.Toolbar.Button({text:"bitem"}));
	
});

Spacer是空格 Separator是分隔符 add方法可以是多个参数

当然也可以通过配置选项的方式 不适用new
win.getTopToolbar().add(new Ext.Toolbar.Fill());
win.getTopToolbar().add({xtype:"tbfill"});

上面的两句是等效的
一般我们是不会指定toolbar的宽高,他会自适应
默认toolbar的参数是button
		tbar:new Ext.Toolbar({
			//width:200,
			//height:50
		})
	});
	win.show();
	win.getTopToolbar().add({text:"defButton"});
	win.getTopToolbar().add(new Ext.Toolbar.TextItem("titem"));
	win.getTopToolbar().add(new Ext.Toolbar.Spacer());
	win.getTopToolbar().add(new Ext.Toolbar.Separator());
	win.getTopToolbar().add([new Ext.Toolbar.Spacer(),new Ext.Toolbar.Spacer()]);
	win.getTopToolbar().add(new Ext.Toolbar.Button({text:"bitem"}));


这里的Ext.ToolBar.Button中有一个pressed : Boolean
表示是否显示已按下状态
这里还有一个SplitButton 我们在里面可以看到他有一个menu的配置选项,他可以给我们呈现出下拉菜单按钮
win.getTopToolbar().add({text:"defButton",pressed:true});
	win.getTopToolbar().add(new Ext.Toolbar.TextItem("titem"));
	win.getTopToolbar().add(new Ext.Toolbar.Spacer());
	win.getTopToolbar().add(new Ext.Toolbar.Separator());
	win.getTopToolbar().add([new Ext.Toolbar.Spacer(),new Ext.Toolbar.Spacer()]);
	win.getTopToolbar().add(new Ext.Toolbar.Button({text:"bitem"}));
	
	var menu = new Ext.menu.Menu({
		items:[{
			text:"first"
		},"-",{
			text:"second"
		}]
	})
	win.getTopToolbar().add(new Ext.Toolbar.SplitButton({
		text:"splitbutton",
		menu:menu
	}));



这里需要注意win.getTopToolbar()必须写在win.show()方法之后,因为必须先进行渲染才能取得一些他的一些东西
当然也可以通过window中的tbar:【】进行添加toolbar中的相关信息
Ext.onReady(function(){
	Ext.QuickTips.init();
	var win = new Ext.Window({
		width:400,
		height:300,
		title:"窗体",
		tools:[{
			id:"toggle",
			handler:function(e,t,p){
				
				},
			qtip:"hello"
		},{
			id:"close"
		},{
			id:"help"
		}],
		tbar:[new Ext.Toolbar.Spacer(),new Ext.Toolbar.Spacer()]
	});
	win.show();
});

与tbar对应的还有一个bbar只不过位置是在底部,使用上面还是一样的
Ext.onReady(function(){
	Ext.QuickTips.init();
	var win = new Ext.Window({
		width:400,
		height:300,
		title:"窗体",
		tools:[{
			id:"toggle",
			handler:function(e,t,p){
				
				},
			qtip:"hello"
		},{
			id:"close"
		},{
			id:"help"
		}],
		tbar:new Ext.Toolbar({
			//width:200,
			//height:50
		}),
		bbar:[new Ext.Toolbar.Button({text:"bitem"})]
	});
	win.show();



  • 大小: 5.2 KB
  • 大小: 5.1 KB
  • 大小: 5.7 KB
  • 大小: 5.2 KB
  • 大小: 5.4 KB
  • 大小: 5.5 KB
  • 大小: 5.5 KB
  • 大小: 6 KB
  • 大小: 5.9 KB
  • 大小: 6.9 KB
分享到:
评论
1 楼 liuxuejin 2011-05-09  
表单元素横排 怎么搞呢??

相关推荐

    extjs2.1库文件

    ExtJS 2.1 库文件是Web应用程序开发的一个重要工具,主要用于构建富客户端界面。这个版本的ExtJS提供了一套完整的组件模型、布局管理、数据绑定和事件处理机制,帮助开发者快速创建交互性强、用户体验良好的网页应用...

    extjs2.1 开发包

    EXTJS 2.1 是一个历史悠久但依然备受推崇的JavaScript框架,主要用于构建富客户端Web应用程序。这个开发包因其强大的功能和灵活性,使得开发者能够创建出与Windows操作系统界面类似的交互式用户体验。EXTJS的核心...

    extJs 2.1学习笔记

    1. ExtJs 结构树 2 2. 对ExtJs的态度 3 3. Ext.form概述 4 4. Ext.TabPanel篇 5 5. Function扩展篇 7 6. Ext.data.Store篇 10 7. Ext.data.JsonReader篇一 12 8. Ext.data.JsonReader篇二 15 9. Ext.data.HttpProxy...

    ExtJS入门教程-超级详细-共36页 完整版 PDF

    ExtJS入门教程-超级详细-共36页 完整版 PDF,电子书方便阅读和分享。

    ExtJs常用布局--layout详解实例代码

    ExtJs常用布局--layout详解实例代码: ExtJs常见的布局方式有:border、form、absolute、column、accordion、table、fit、card、anchor 另外,不常见的布局有:tab、vbox、hbox 具体使用方法可见该文件的案例代码。 ...

    Extjs2.1源码%2B教程.rar

    总的来说,这个压缩包为学习和研究ExtJS 2.1提供了全面的资源,包括源码、教程和开发工具。无论是初学者还是有经验的开发者,都能从中获益,提升对ExtJS的理解和应用能力。不过,值得注意的是,由于这是旧版本,某些...

    extjs-620-docs.zip

    extjs-620-docs官方文档extjs-620-docs官方文档extjs-620-docs官方文档

    ExtJS快速入门--传智播客--蔡世友

    ExtJS快速入门--传智播客--蔡世友

    语言程序设计资料:ExtJs学习笔记-2积分.doc

    语言程序设计资料:ExtJs学习笔记-2积分.doc

    extjs-theme-bootstrap

    "extjs-theme-bootstrap" 是针对 EXTJS4 的一个主题,它借鉴了 Bootstrap 的设计风格,让 EXTJS4 应用程序具有更加现代化和一致的外观。 Bootstrap 是一个流行的前端开发框架,由 Twitter 推出,主要用于构建响应式...

    ExtJS2Samples-v2.1.zip_DEMO_ExtJS2Samples_extjs

    这个"ExtJS2Samples-v2.1.zip_DEMO_ExtJS2Samples_extjs"压缩包包含的是ExtJS 2.1版本的官方示例,是学习和理解ExtJS 2.0核心功能的宝贵资源。在深入探讨之前,让我们先了解下ExtJS的基本概念。 ExtJS 是由Sencha...

    「extjs入门教程-SSHMavenExtjs4MySQL实战开发」.docx

    【EXTJS 入门教程-SSH Maven Extjs4 MySQL实战开发】是一份详细的教程,旨在帮助初学者掌握EXTJS框架,结合SSH(Struts2、Spring、Hibernate)和Maven,利用MySQL数据库进行Web应用程序的开发。EXTJS是一个强大的...

    extJs-5.0.1-gpl(part1)

    extJs-5.0.1-gpl附带sencha cmd安装程序、ruby编译包(分为32位和64位)和教程,一共四部分

    extjs2----关于extjs 的使用,操作

    在提供的文件"ExtJS 2.0实用简明教程.chm"中,可能包含了以下内容: 1. **安装与引入**:讲解如何将ExtJS库引入到项目中,包括下载、引入JS文件以及设置HTML头部引用。 2. **基础组件**:介绍如窗口(Window)、...

    Ext2.1中文文档

    EXTJS 2.1中文文档提供了对EXTJS这一JavaScript库的详细解读,是开发者学习和理解EXTJS的重要参考资料。EXTJS是一种用于构建富客户端Web应用的框架,它以组件化和可扩展性著称,提供了丰富的用户界面组件,如表格、...

    extjs-theme-bootstrap-master.zip

    "extjs-theme-bootstrap-master.zip" 文件很可能是ExtJS的一个主题包,它集成了Bootstrap的样式,使得ExtJS组件能够呈现出Bootstrap的经典外观。 在深入讲解这个主题之前,让我们先了解一下基础概念: 1. **ExtJS*...

    extjs4.2 动态生成toolbar

    在 ExtJS 4.2 中实现动态生成 Toolbar,以满足 gridPanel 中动态生成带按钮及查询条件的工具栏的需求。本文将详细介绍如何实现动态生成 Toolbar,包括视图层、 Toolbar.js 和后台调用创建工具栏的方法。 视图层 在...

    extjs-OA extjs-oa

    一个extjs的OA项目 extjs-OA extjs-oaextjs-OA extjs-oa

Global site tag (gtag.js) - Google Analytics