日期:2014-05-16 浏览次数:20496 次
// 左边功能树
var menuTree = new Ext.tree.TreePanel({
region : 'west',
title : '功能菜单',
width : 180,
minSize : 150,
maxSize : 200,
split : true,
autoScroll : true,
autoHeight : false,
collapsible : true,
rootVisable : false,
// 不显示根节点
root : new Ext.tree.TreeNode({
id : 'root',
text : '功能菜单',
draggable : false,
expanded : true
})
});
// 添加第一个节点(html)
menuTree.root.appendChild(new Ext.tree.TreeNode({
id : 'htmlPanel',
text : '通过html打开',
listeners : {
'click' : function(node, event) {
event.stopEvent();
var n = contentPanel.getComponent(node.id);
if (!n) {
// 判断是否已经打开该面板
n = contentPanel.add({
'id' : node.id,
'title' : node.text,
closable : true,
html : '<div>通过html载入目标页面html代码</div>' // 通过html载入目标页
});
}
contentPanel.setActiveTab(n);
}
}
}));
// 添加第二个节点(autoLoad)
menuTree.root.appendChild(new Ext.tree.TreeNode({
id : 'autoLoadPanel',
text : '通过autoLoad打开',
listeners : {
'click' : function(node, event) {
event.stopEvent();
var n = contentPanel.getComponent(node.id);
if (!n) {
//判断是否已经打开该面板
n = contentPanel.add({
'id' : node.id,
'title' : node.text,
closable : true,
// 通过autoLoad属性载入目标页,如果要用到脚本,必须加上scripts属性
autoLoad : {
url : 'http://localhost:8080/myssh2/index.jsp',
scripts : true
}
});
}
contentPanel.setActiveTab(n);
}
}
}));
// 添加第三个节点(function)
menuTree.root.appendChild(new Ext.tree.TreeNode({
id : 'functionPanel',
text : '通过函数打开',
listeners : {
'click' : function(node, event) {
event.stopEvent();
var n = contentPanel.getComponent(node.id);
if (!n) {
var p = new fnPanel();
p.id = node.id;
p.title = node.text;
n = contentPanel.add(p);
}
contentPanel.setActiveTab(n);
}
}
}));
// 通过扩展来构建要创建的面板
fnPanel = Ext.extend(Ext.Panel, {
closable : true,
autoScroll : true,
layout : 'fit',
// 如果用函数来创建该面板的话,布局必须设置为fit,否则不会显示该面板中的内容
// 创建面板内容
createFormPanel : function() {
return new Ext.form.FormPanel({
buttonAlign : 'center',
labelAlign : 'right',
frame : false,
bodyBorder : false,
bodyStyle : 'padding:25px',
items : [{
xtype : 'textfield',
fieldLabel : '用户名',
width : 350,
name : 'username'
}, {
xtype : 'textfield',
fieldLabel : '密 码',
width : 350,
name : 'password'
}],
buttons : [{
text : '登陆'
}, {
text : '取消'
}]
});
},
// 重装控件初始化函数,在该函数中完成面板中内容的初始化
initComponent : function() {
fnPanel.superclass.initComponent.call(this);
this.fp = this.createFormPanel();
this.add(this.fp);
}
});
// 右边具体功能面板区
var contentPanel = new Ext.TabPanel({
region : 'center',
enableTabScroll : true,
activeTab : 0,
items : [{
id : 'homePage',
title : '首页',
autoScroll : true,
//html : '<h1>Hello 东东</h1>'
autoLoad : {
url : 'http://localhost:8080/myssh2/index.jsp',
scripts : true
}
}]
});
Ext.onReady(function() {
new Ext.Viewport({
layout : 'border', //使用border布局
defaults : {
activeItem : 0
},
items : [{
region : "north",
height : 50,
html : '<center><h1>此处显示标题图片</h1></center>'
},
menuTree, contentPanel,
{
region : "south",
height : 50,
html : '<center><h1>此处显示版权信息</h1></center>'
}]
});
});
?