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/
版权声明:本文的版权归作者与博客园共有。转载时须注明本文的详细链接,否则作者将保留追究其法律责任。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值