* JTabbedPanel创建标签页
* 4:旋转中的书签 tabbedPanel.getSelectedIndex();
* 允许用户通过单击具有给定标题和/或图标的选项卡,在一组组件之间进行切换
* 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();
}
}