* JTabbedPanel创建标签页
* 允许用户通过单击具有给定标题和/或图标的选项卡,在一组组件之间进行切换
* 1:构造函数 创建一个空的 TabbedPane,使其具有指定的选项卡布局(JTabbedPane.LEFT .RIGHT.TOP.BOTTOM )
* 和选项卡布局策略(JTabbedPane.WRAP_TAB_LAYOUT换行 ;SCROLL_TAB_LAYOUT一种导航到隐藏的选项卡的方法,不能放入所有的选项卡)
* 2:当构造函数不布局 或者不弄布局策略的时候 可以使用setTabPlacement(int tabPlacement)和setTabLayoutPolicy(int tabLayoutPolicy)
* 3:.addTab(bookName, icon, 组件, tip); insertTab(),setComponentAt(num, new JLabel(bookIcon));removeTabAt()等方法
*
* 4:旋转中的书签 tabbedPanel.getSelectedIndex();
demo1
public class JTabbedPanelDemo1 extends JFrame { //选项卡布局 JTabbedPane.LEFT .RIGHT.TOP.BOTTOM //选项卡布局策略。 JTabbedPane tabbedPanel=new JTabbedPane(JTabbedPane.LEFT,JTabbedPane.WRAP_TAB_LAYOUT); ImageIcon icon=new ImageIcon("images/cut"); String tip="可看到书籍的封面"; Map<String,String> books=new HashMap<String,String>(); public JTabbedPanelDemo1() { books.put("ROR开发实践","images/a.png"); books.put("疯狂java","images/b.png"); books.put("疯狂android","images/c.png"); books.put("疯狂html/css","images/d.png"); books.put("疯狂php","images/e.png"); //向JTabbedPane中添加5个封面 指定标题 图标 提示 for(String bookName:books.keySet()) { /// tabbedPanel.addTab(bookName, icon, null, tip); } /** * 加载内容 */ tabbedPanel.addChangeListener(new ChangeListener(){ @Override public void stateChanged(ChangeEvent e) { // TODO Auto-generated method stub int n=tabbedPanel.getSelectedIndex(); //加载到Tab布局 loadTab(n); } }); loadTab(0); this.add(tabbedPanel); //设置窗体的标题 this.setTitle("tabbedPanel案例"); this.setSize(400, 400); this.setLocationRelativeTo(null); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true); } private void loadTab(int num) { String title=tabbedPanel.getTitleAt(num); //根据标签的名字获取对应得图片 ImageIcon bookIcon=new ImageIcon(books.get(title)); //下面用书籍的图片单做组件插入标签 tabbedPanel.setComponentAt(num, new JLabel(bookIcon)); } /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub JTabbedPanelDemo1 t=new JTabbedPanelDemo1(); } }