小弟初学Ext最近遇一问题,研究许久未能解答。希望CSDN的大侠们给予帮助,感激不尽!我希望在Ext中的DeskTop组件也就是桌面组件中通过点击桌面左边的快捷按钮弹出里面是ExtJs3.2.1版本案例中Group Tabs组件。当然也就是弹出一个右上角有最小化、最大化和关闭按钮的Group Tabs。不知道如何实现?经过我的研究应该在DeskTop组件的sample.js文件中如下代码处添加:
(ext-3.2.1\ext-3.2.1\examples\desktop\sample.js)
MyDesktop.GridWindow = Ext.extend(Ext.app.Module, {
    id:'grid-win',
    init : function(){
        this.launcher = {
            text: 'Grid Window',//这个是开始菜单中的名称
            iconCls:'icon-grid',//这个是开始菜单中标题左面的图标
            handler : this.createWindow,//点击时调用的方法,也就是下面的createWindow方法
            scope: this
        }
    },    createWindow : function(){//产生window的函数
        var desktop = this.app.getDesktop();//得到系统桌面的对象
        var win = desktop.getWindow('grid-win');//取窗口
        if(!win){ //如果此时没有这个窗口就创建一个,如果有就不用创建了
            win = desktop.createWindow({
              
*********************************************
          在这里
**********************************************            });
        }
        win.show();//显示这个窗口
    }
});
要添加进入的内容是:
(ext-3.2.1\ext-3.2.1\examples\grouptabs\grouptabs.js)改程序以被我简化,仅供各位大侠参考:Ext.onReady(function() {
Ext.QuickTips.init();
    var viewport = new Ext.Viewport({        layout:'fit',
        items:[{
            xtype: 'grouptabpanel',
     tabWidth: 130,
     activeGroup: 0,
     items: [{
     mainItem: 1,
     items: [{
id:'c',
     title: 'Create',
                    layout: 'fit',
                    iconCls: 'x-icon-tickets',//前面的图标
                    tabTip: 'Tickets tabtip',//这里是鼠标在文字上面的显示内容
                    style: 'padding: 10px;'
     }, {
                    xtype: 'portal',
                    title: '创建项目',
                    tabTip: 'Dashboard tabtip',
                                        
                }, {
     title: '描述',
                    iconCls: 'x-icon-subscriptions',
                    tabTip: 'Subscriptions tabtip',
                    style: 'padding: 10px;',
layout: 'fit',
    
     }, {
     title: '文件筐',
                    iconCls: 'x-icon-users',
                    tabTip: 'Users tabtip',
                    style: 'padding: 10px;',
     html: Ext.example.shortBogusMarkup
     }]
            }]
}]    });

});这是小弟第一次提问,如果说明的不是很清楚请指明。

解决方案 »

  1.   

    1.js
    var win = new Ext.Window({
        title:"demo",
        width: 100,
        height: 100,
        html: "zoujp_xyz"
    });
    win.show();
          
    2.if (!win) {
                Ext.Ajax.request({
                    url: "1.js",
                    success: function(response, options) {
                        eval(response.responseText);
                    }
                });
            } else {
                win.show();
            }
      

  2.   

    可能是一楼没太明白我的意思,并不是需要一个链接后台的调用。我只是需要一个静态界面,点击桌面的图标就能显示一个已经写好的窗口。我现在能弹出一个空窗口,只是不知道怎么在空窗口中加入Group Tabs组件。
      

  3.   

    你把js写在一个文件中不好吗?这样更利于维护
    在1.js文件中你也可以加入group tabs组件
      

  4.   

     createWindow : function(){//产生window的函数
            var desktop = this.app.getDesktop();//得到系统桌面的对象
            var win = desktop.getWindow('grid-win');//取窗口
            if(!win){        //如果此时没有这个窗口就创建一个,如果有就不用创建了
                win = desktop.createWindow({
                   title:"demo",
                   width:200,
                   height:200,
                   layout:"fit",
                   xtype:"tabpanel",
                   activeItem:0,
                   items:[
                   {},
                   {},
                   {}
                    ]            });
            }
            win.show();//显示这个窗口
        }
      

  5.   


    第一、即使引用了在桌面上点图标还是没有反应。
    第二、你的这段代码我copy上去也是不行。我现在怀疑是不是与grouptabs组件中的Viewport有关系呢,Viewport应该是全屏的吧。那改成什么呢?
      

  6.   

    你用了desktop了,就不要用Viewport了,改用window