ExtJs4 笔记(9) Ext.Panel 面板控件、 Ext.window.Window 窗口控件、 Ext.container.Viewport 布局控件
本篇讲解三个容器类控件。
一、面板控件 Ext.Panel
一个面板控件包括几个部分,有标题栏、工具栏、正文、按钮区。标题栏位于最上面,工具栏可以在四个位置放置,围绕中间部分正文,按钮区位于最小方。下面介绍几个基本配置项:
1.title:设置面板标题文本。
2.tbar,lbar,rbar,bbar:分别设置上、左、右、下四个部位的工具栏。
3.html,items:前者用来设置正文部分的html,后者设置正文部分的ext控件。
4.buttons:设置按钮区的按钮。
下面看看面板生成代码:
[html]1 2 3 | < h1 >Panel</ h1 > < div id="div1" class="content"> </ div > |
[Js]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | Ext.onReady( function () { var p = Ext.create( 'Ext.Panel' , { title: '面板标题' , collapsible: true , renderTo: 'div1' , width: 400, height: 300, autoScroll: false , bodyBorder: true , buttonAlign: 'right' , buttons: [{ text: "按钮1" , handler: function () { Ext.Msg.alert( "提示" , "第一个事件" ); }, id: "bt1" }, { text: "按钮2" , id: "bt2" } ], floating: true , footerCfg: { tag: 'span' , id: 'span1' , html: '面板底部' }, items: [{ xtype: "button" , text: "按钮" }], tbar: Ext.create( 'Ext.toolbar.Toolbar' , { items: [ "工具栏" ] }), html: "<b>正文</b>" }); p.setPosition(40, 50); }); |
效果如下:
二、窗口控件 Ext.window.Window
窗口控件与面板控件基本类似,只不过他看起来像一个窗口,具备最大化,最小化,打开关闭、拖动等窗口操作,下面看看窗口生成代码:
下面看看面板生成代码:
[html]1 2 3 4 5 | < h1 >窗口</ h1 > < div class="content" style="height:300px"> < button id="button1">打开窗口</ button > < div id="win1"></ div > </ div > |
[Js]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | Ext.onReady( function () { var window1 = Ext.create( 'Ext.window.Window' , { applyTo: 'win1' , layout: 'table' , //内部元素布局方式{absolute accordion anchor border card column fit form table} width: 500, height: 200, closeAction: 'hide' , //窗口关闭的方式:hide/close plain: true , title: "窗口标题" , maximizable: true , //是否可以最大化 minimizable: true , //是否可以最小化 closable: false , //是否可以关闭 modal: true , //是否为模态窗口 resizable: false , //是否可以改变窗口大小 items: [{ text: '按钮' , xtype: "button" }, { width: 214, minValue: 0, maxValue: 100, value: 50, xtype: "slider" }, { xtype: "button" , text: '一个菜单' , width: "60px" , height: "15px" , menu: { items: [ new Ext.ColorPalette({ listeners: { select: function (cp, color) { Ext.Msg.alert( '颜色选择' , '你选择了' + color + '。' ); } } }), '-' , { text: '菜单项1' }, { text: '菜单项2' }, { text: '菜单项3' } ] } }], buttons: [{ text: '确定' , disabled: true }, { text: '取消' , handler: function () { window1.hide(); } }] }); Ext.fly( "button1" ).on( "click" , function () { window1.show(Ext.get( "button1" )); }); }); |
效果如下:
三、布局控件 Ext.container.Viewport
布局控件一般用于整个页面的排版布局,它按四个方向分为四块区域,和中间正文部分,四个区域都可以自动隐藏,其实这个控件的核心功能就是用到了“border”方式的布局,下面看看生成代码:
[Js]1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | Ext.onReady( function () { Ext.create( 'Ext.container.Viewport' , { layout: 'border' , items: [{ region: 'north' , html: '<h1>这里放置logo</h1>' , xtype: "panel" , title: "标题" , autoHeight: true , border: false , margins: '0 0 5 0' }, { region: 'west' , collapsible: true , title: '左侧导航' , xtype: 'panel' , width: 200, autoScroll: true }, { region: 'center' , xtype: 'tabpanel' , activeItem: 0, items: { title: '首页' , html: '这里是首页正文内容' } }, { region: 'south' , title: '底部' , collapsible: true , //允许折叠 html: '这里放置版权信息' , split: true , height: 100, minHeight: 100 }] }); }); |
效果如下:
作者:李盼(Lipan)
出处:[Lipan] (http://www.cnblogs.com/lipan/)
版权声明:本文的版权归作者与博客园共有。转载时须注明本文的详细链接,否则作者将保留追究其法律责任。
出处:[Lipan] (http://www.cnblogs.com/lipan/)
版权声明:本文的版权归作者与博客园共有。转载时须注明本文的详细链接,否则作者将保留追究其法律责任。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架