Ext中创建Window窗体

来源:互联网 发布:保罗乔治身体数据 编辑:程序博客网 时间:2024/06/06 03:14

         在Ext中应该来说Window窗体是非常重要的吧,window窗体并非Extjs独有的组件,这也是JavaScript定义的,它分属于浏览器的组件,窗体是程序和用户进行交互的可视界面,窗体也是对象,窗体定义了生成窗体的模板,实例化一个窗体类就产生了一个窗体。在window窗体中也有特别多的事件方法供我们进行使用,在现实生活中,窗口是可视化的,我们可以通过窗体用眼睛看到窗体中发生的一切,在程序世界中也不例外,我们可以定义窗体,我们也想看到程序中发生的一切。那窗体中窗体中发生的一切如何发生呢?那就需要我们自己来定义了,窗体中发生的一切,我们用眼睛所看到的一切都是形形色色的组件,可以说都是组件,窗体最大,我们是通过窗体来进行观察一切的。所以想要开发功能,首先要定义窗体,创建窗体,只要有了窗体,里面才可以放任何的组件。其实body也是一个大的窗体,不过 这不用我们手动创建而已。说白了 窗体也是一个大的dom.window其实就是一个大容器而已,你尽管根据window的规则往里面放东西就可以了!

说这么多,也是为了帮助大家更好的理解window窗体,大家记住:程序的世界,一切来源于生活。一切也高于生活。


下面我们就介绍在Ext的世界中window窗体如何是被创建的?

    ①首先定义一个函数function (){}  在function中定义窗体对象。

function queryWindows() {    return Ext.create('Ext.window.Window',{        title:'student表',        height:document.body.clientHeight*0.8, //根据客户端当前屏幕的大小显示高度        width:document.body.clientWidth*0.8,  //根据客户端当前屏幕的大小显示宽度        maximizable:true,        modal: true,        items:[queryPanel()], //items:是在window容器中装组件的一个入口。        closeAction: 'destroy',        layout: 'vbox',  //当前布局是垂直布局  fit:自适应布局        buttons:[            {xtype:'button',text:'增加'},            {xtype:'button',text:'删除'},            {xtype:'button',text:'取消',handler:function (btn) {                btn.up('window').close();            }}        ],        listeners:{  //监听事件 ,当window窗体被关闭时就会触发改事件,并执行该事件里面的回调函数。把当前全局变量的属性window置为空。为下一次创建窗体做准备。            close:function () {                var IS_VIEW = false;                queryWindow.window=null;            }        }    });}

其实上面的代码就是创建窗体的函数,但是在实际工作中,有这个是远远不够的,你想一下,如果当前窗体没有被关闭的话,我们一直点击创建窗体事件,那么无数个窗体被创建,这明显不是我们想要的。所有我们要对这个函数的创建时机做相应的处理,窗体只能被创建一次,只有当前窗体被销毁后才能创建新的窗体,那么怎么处理呢?别着急,往下看 :

我们定义一个对象,这个对象代表着已经被创建好的窗体,我们要给这个对象定义一些属性,来控制当前用户无限制的创建窗体!

var queryWindow={  //我们为这个对象定义两个属性,第一个是window,我们要通过这个属性的值是否为null,来判断当前是否有窗体被创建,如果有则不创建。    window:null,     show:function () {        if(!this.window){  //当当前window为null的情况下 则立即创建窗体。            this.window=queryWindows();        }        this.window.show();//调用当前窗体show()方法来显示窗体,窗体只被创建 而显示是不起作用的。    }}


大功告成,现在你可以在你想要使用本窗体的地方调用这个全局变量了,记住,在你调用的时候,要重新调用一次show()的方法。

 

  

原创粉丝点击