现在的位置: 首页 > 综合 > 正文

JTabbedPanel创建标签页

2018年05月27日 ⁄ 综合 ⁄ 共 1799字 ⁄ 字号 评论关闭

 * 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();
	}

}


抱歉!评论已关闭.