1:基本知识
A basic tab container. TabPanels can be used exactly like a standard Ext.Panel for layout purposes, but also have special support for containing child Components (items) that are managed using a CardLayout layout manager, and displayed as separate tabs.
Note: By default, a tab's close tool destroys the child tab Component and all its descendants. This makes the child tab Component, and all its descendants unusable. To enable re-use of a tab, configure the TabPanel with autoDestroy: false
.
TabPanel header/footer elements
TabPanels use their header or footer element (depending on the tabPosition configuration) to accommodate the tab selector buttons. This means that a TabPanel will not display any configured title, and will not display any configured header tools.
To display a header, embed the TabPanel in a Panel which uses layout:'fit'.
Tab Events
There is no actual tab class — each tab is simply a Component such as a Panel. However, when rendered in a TabPanel, each child Component can fire additional events that only exist for tabs and are not available from other Components. These events are:
false
from a handler.2:几个简单的例子
(1)tabpanel1.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>简单的tabpanel</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <link rel="stylesheet" type="text/css" href="ext3.2/resources/css/ext-all.css"></link> <script type="text/javascript" src="ext3.2/adapter/ext/ext-base.js"></script> <script type="text/javascript" src="ext3.2/ext-all.js"></script> <script type="text/javascript" src="ext3.2/src/local/ext-lang-zh_CN.js"></script> <script type="text/javascript"> Ext.onReady(function () { var tabs = new Ext.TabPanel({ renderTo: Ext.getBody(), activeTab: 0, items: [{ title: 'Tab 1', html: 'A simple tab' },{ title: 'Tab 2', html: 'Another one' }] }); }); </script> </head> <body> </body> </html>
(2):tabpanel2.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>简单的tabpanel</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <link rel="stylesheet" type="text/css" href="ext3.2/resources/css/ext-all.css"></link> <script type="text/javascript" src="ext3.2/adapter/ext/ext-base.js"></script> <script type="text/javascript" src="ext3.2/ext-all.js"></script> <script type="text/javascript" src="ext3.2/src/local/ext-lang-zh_CN.js"></script> <script type="text/javascript"> Ext.onReady(function() { var tabs = new Ext.TabPanel({ renderTo: 'my-tabs', activeTab: 0, items: [{ contentEl: 'tab1', title: 'Tab 1' }, { contentEl: 'tab2', title: 'Tab 2' }] }); }); </script> </head> <body> <div id="my-tabs"></div> <div id="tab1" class="x-hide-display" >A simple tab</div> <div id="tab2" class="x-hide-display" />Another one</div> </body> </html>
程序效果图:
分别为点击Tab1和Tab2的效果
3:tabpanel3.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>简单的tabpanel</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <link rel="stylesheet" type="text/css" href="ext3.2/resources/css/ext-all.css"></link> <script type="text/javascript" src="ext3.2/adapter/ext/ext-base.js"></script> <script type="text/javascript" src="ext3.2/ext-all.js"></script> <script type="text/javascript" src="ext3.2/src/local/ext-lang-zh_CN.js"></script> <script type="text/javascript"> Ext.onReady(function() { var tabs = new Ext.TabPanel({ renderTo: 'd', width: 450, height: 400, activeTab: 0, items: [{ title: '荔枝', html:'<img src="images/lizhi.jpg" width="200" height="150"/><br/><br/>Litchi chinensis、Lychee' + '荔枝为无患子科植物荔枝的果实,别名丹荔,丽枝。原产于中国南部,以广东、广西、福建、四川、台湾、云南等地栽培最多。' + '每年6~7月间果实成熟时采收,剥去外壳,取假种皮(荔枝肉)鲜用或干燥后备用。果实心脏形或球形,果皮具多数鳞斑状突起,呈鲜红、紫红、青绿或青白色,假种皮新鲜时呈半透明凝脂状,多汁,味甘甜。' + '荔枝含有丰富的糖分、蛋白质、多种维生素、脂肪、柠檬酸、果胶以及磷、铁等,是对人体有益的水果。', closable: true }, { title: '龙眼', closable: true, html:'<table><tr><td><img src="images/longyan.jpg" width="200" height="200"/></td><td style="font-size:12px;">俗称“桂圆”,是中国南亚热带名贵特产,历史上南方“桂圆”北“人参”之称。' + '龙眼果实富含营养,自古受人们喜爱,更视为珍贵补品,其滋补功能显而易见。 ' + '明李时珍曾有“资益以龙眼为良”的评价。据分析,果肉含全糖12.38~22.55%,还原糖3.85~10.16%,全酸0.096~0.109%,' + '维生素C 43.12~163.7毫克/100克果肉,VK196.5毫克/100克果肉。龙眼除鲜食外,还可加工制干、制罐、煎膏等。龙眼有壮阳益气、补益心脾、' + '养血安神、润肤美容等多种功效,可治疗贫血、心悸、失眠、健忘、神经衰弱及病后、产后身体虚弱等症。现代医学实践证明 ,它还有美容、延年益寿之功效。</td></tr></table>' }] }); }); </script> </head> <body> <div id="d"></div> </body> </html>
程序效果:
点击荔枝的效果
图:点击龙眼的效果