ExtJS中Panel(面板)使用的非常多,因此在这里也作为一个重点来谈谈吧!
面板(Panel)是一种面向用户界面构建应用程序最佳的单元块,一种特定功能和结构化组件。面板包含有底部和顶部的工具条,连同单独的头部、底部和body部分。它提供内建都得可展开和可闭合的行为,连同多个内建的可制定的行为的工具按钮。面板可简易地置入任意的容器或布局,而面板和渲染管线(rendering pipeline)则由框架完全控制。
下面演示Panel的使用:
panel.js
// 面板的使用 Ext.onReady(function() { // 创建一个按钮 var btn = new Ext.Button({ text : "按钮一" }); // 创建一个面板 var panel = new Ext.Panel({ title : "我的面板", width : 500, height : 500, // 将面板渲染到body中 renderTo : Ext.getBody(), // 给工具栏添加按钮图标 tools : [ { id : "save" }, { id : "help" }, { id : "print", handler : function() { window.print(); } } ], // collapsible配置项表示指定该面板是否能被收缩和展开true表示为面板是可收缩的 collapsible : true, // 顶部工具栏 tbar : [ { text : "保存" }, "-", { text : "关闭" } ], // 底部工具栏 bbar : [ { text : "上一页" }, { text : "下一页" } ], // 将底部按钮居中 buttonAlign : "center", // 在面板底部添加按钮 buttons : [ { text : "添加内容", // 处理按钮的单击事件 handler : function() { panel.add({ id : "panel2", title : "面板三" }); panel.doLayout(); } }, { text : "删除内容", handler : function() { panel.remove("panel2"); } }, { text : "更新内容", handler : function() { // panel.load("news.jsp"); panel.body.update("<h1>当前时间</h1>" + new Date()); } } ], // 除了这些声明以外的其余都放置在panel的body部分 // 这里放置html中的h1标签 // html : "<h1>这是body部分</h1>", // 加载网页的内容显示在面板body上 // autoLoad : "news.jsp" // items选项内容会自动加到面板的body部分 items : [ btn, { xtype : "button", // xtype是指定控件的类型,比如是按钮;如果不指定xtype则默认是面板 text : "按钮二" }, { title : "面板二", width : 400, height : 200, // 设置边框显示为无 border : false } ] }); });
panel.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>ExtJS-Pane组件</title> <link href="ext-3.4.1/resources/css/ext-all.css" rel="stylesheet" type="text/css"> <script type="text/javascript" src="ext-3.4.1/adapter/ext/ext-base.js"></script> <script type="text/javascript" src="ext-3.4.1/ext-all.js"></script> <script type="text/javascript" src="panel.js"></script> </head> <body> </body> </html>