Java分割面板和選項卡面板的應用

一、分割面板

JSplitPane類的經常使用構造方法
構造方法 說明
JSplitPane() 建立一個默認的分割面板。默認狀況下爲在水平方向上分割,重繪方式爲只在調整分隔條位置完成時重繪
JSplitPane(int neworientation) 建立一個按照指定方向分割的分割面板。入口參數newOrientation的可選靜態JSplitPane(int newOrientation)常量有HORIZONTAL_SPLIT和VERTICAL_SPLIT
JSplitPane(int neworientation,boolean newContinuousLayout) 建立一個按照指定方向分割,而且按照指定方式重繪的分割面板。若是將入口參數 newContinuousLayout設爲true,表示在調整分隔條位置的過程當中連續重繪,設爲false則表示只在調整分隔條位置完成時重繪

重繪:從新繪製組件的佈局方式。若是把 newContinuousLayout設爲true,拖動分隔條的時候組件也會跟着動,若是是false,拖動的僅僅是分隔條(組件不會跟着動),待分隔條定下來時,組件纔跟着定下來。若是既須要水平分割又要在垂直分割,能夠在其中一個分割面板的兩個方向上再添加分割面板。小例子:ide

// 建立一個水平方向的分割面板
    JSplitPane hSplitPane = new JSplitPane();
    // 分隔條左側的寬度爲40像素
    hSplitPane.setDividerLocation(40);
    // 添加到指定區域
    getContentPane().add(hSplitPane, BorderLayout.CENTER);
    // 在水平面板左側添加一個標籤組件
    hSplitPane.setLeftComponent(new JLabel("左面板"));
    // 建立一個垂直方向的分割面板
    JSplitPane vSplitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT);
    // 分隔條上方的高度爲30像素
    vSplitPane.setDividerLocation(30);
    vSplitPane.setDividerSize(8);// 分隔條的寬度爲8像素
    vSplitPane.setOneTouchExpandable(true);// 提供UI小部件
    // 在調整分隔條位置時面板的重繪方式爲連續繪製
    vSplitPane.setContinuousLayout(true);
    hSplitPane.setRightComponent(vSplitPane);// 添加到水平面板的右側
    // 在垂直面板上方添加一個標籤組件
    vSplitPane.setLeftComponent(new JLabel("上"));
    // 在垂直面板下方添加一個標籤組件
    vSplitPane.setRightComponent(new JLabel("下"));

在這裏插入圖片描述

二、選項卡面板

表23.3JTabbedPane類的全部構造方法
構造方法 說明
JTabbedPane() 建立一個默認的選項卡面板。默認狀況下標籤位於選項卡的上方,佈局方式爲限制佈局
JTabbedPane(int tabPlacement) 建立一個指定標籤顯示位置的選項卡面板。入口參數tabPlacement的可選靜態常量能夠TOP、BOTTOM、LEFT 和RIGHT
JTabbedPane(int tabPlacement,int tabLayoutPolicy) 建立一個既指定標籤顯示位置又指定選項卡布局方式的選項卡面板。入口參數tabLayoutPolicy的可選靜態常量能夠是WRAP_TAB_LAYOUT(限制佈局爲默認值)和SCROLL_TAB_LAYOUT(滾動佈局)

兩種佈局方式是限制佈局和滾動佈局,限制佈局中的選項卡面板能夠隨着窗體的拖動作出合適的調整,滾動佈局是窗體變小的時候會出現一個滾動條,能夠點擊顯示被遮擋的選項卡。addTab()方法能夠把全部入口參數都設置爲空,即:佈局

tabbedPane.addTab(null,null);
方法 說明
addTab(String title,Component component) 添加一個標籤爲title
addTab(String title,Icon icon,Component component) 添加一個標籤爲title、圖標爲icon
addTab(String title,Icon icon,Component component,String tip) 添加一個標籤爲title、圖標爲icon、提示爲tip的選項卡
InsertTab(String title,Icon icon,Component component,String tip, int index) 在索引位置index處插入一個標籤爲title、圖標爲icon、提示爲tip的選項卡。索引值從0開始
setTabPlacement(int tabPlacement) 設置選項卡標籤的顯示位置
setTabLayoutPolicy(int tabLayoutPolicy) 設置選項卡標籤的佈局方式
setSelectedIndex(int index) 設置指定索引位置的選項卡被選中
setEnabledAt(int index, boolean enabled) 設置指定索引位置的選項卡是否可用。設爲true表示可用,設爲false則表示不可用
setDisabledIconAt(int index,Icon disabledIcon) 爲指定索引位置的選項卡設置不可用時顯示的圖標
getTabCount() 得到該選項卡面板擁有選項卡的數量
getSelectedIndex() 得到被選中選項卡的索引值
getTitleAt(int index) 得到指定索引位置的選項卡標籤
addChangeListener(ChangeListener 1) 爲選項卡面板添加捕獲被選中選項卡發生改變的事件

小例子:code

final JTabbedPane tabbedPane = new JTabbedPane();
        // 設置選項卡標籤的佈局方式
        tabbedPane.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);
        tabbedPane.addChangeListener(new ChangeListener() {
            public void stateChanged(ChangeEvent e) {
                // 得到被選中選項卡的索引
                int selectedIndex = tabbedPane.getSelectedIndex();
                // 得到指定索引的選項卡標籤
                String title = tabbedPane.getTitleAt(selectedIndex);
                System.out.println(title);
            }
        });
        getContentPane().add(tabbedPane, BorderLayout.CENTER);
        URL resource = ExampleFrame_02.class.getResource("/tab.JPG");
        ImageIcon imageIcon = new ImageIcon(resource);
        final JLabel tabLabelA = new JLabel();
        tabbedPane.addTab("選項卡A", imageIcon, tabLabelA, "點擊查看選項卡A");
        final JLabel tabLabelB = new JLabel();
        tabbedPane.addTab("選項卡B", imageIcon, tabLabelB, "點擊查看選項卡B");
        final JLabel tabLabelC = new JLabel();
        tabbedPane.addTab("選項卡C", imageIcon, tabLabelC, "點擊查看選項卡C");
        tabbedPane.setSelectedIndex(2); // 設置索引爲2的選項卡被選中
        tabbedPane.setEnabledAt(0, false); // 設置索引爲0的選項卡不可用

在這裏插入圖片描述

歡迎關注個人公衆號:物聯網技術猿
我能夠幫你免費下載csdn積分資料!!component

相關文章
相關標籤/搜索