选项卡面板
选项卡面板由 JTabbedPane 类实现,它实现了一个多卡片的用户界面,通过它可以将一个复杂的对话框分割成若干个选项卡,实现对信息的分类显示和管理,使界面更简洁大方,还可以有效地减少窗体个数。
JTabbedPane 类所有的构造方法
构造方法 | 说明 |
---|---|
JTabbedPane() | 创建一个默认的选项卡面板,标签默认位于选项卡上方,布局方式为限制布局 |
JTabbedPane(int tabPlacement) | 创建一个指定标签显示位置的选项卡面板。TOP:在上方,BOTTOM:在选项卡下方,LEFT:在选项卡左侧,RIGHT:在选项卡右侧 |
JTabbedPane(int tabPlacement, int tabLayoutPolicy) | 创建一个指定标签显示位置且指定选项卡布局方式的选项卡面板,WRAP_TAB_LAYOUT:限制布局(默认),SCROLL_TAB_LAYOUT:滚动布局 |
JTabbedPane 类中的常用方法
方法 | 说明 |
---|---|
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) | 为指定索引位置的选项卡设置不可用时显示的图标 |
setTabCount() | 获得该选项卡面板拥有选项卡的数量 |
setSelectedIndex() | 获得被选中选项卡的索引值 |
getTitleAt(int index) | 获得指定索引位置的选项卡标签 |
addChangeListener(ChangeListener I) | 为选项卡面板添加捕获被选中选项卡发生改变的事件 |
创建一个选项卡面板,代码如下:
package study.czm;
import java.awt.Container;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTabbedPane;
public class Study {
public static void main(String[] args) {
JFrame jf = new JFrame();
jf.setTitle("表格组件");
jf.setSize(500, 400);
jf.setLocationRelativeTo(null);
jf.setDefaultCloseOperation(jf.EXIT_ON_CLOSE);
Container c = jf.getContentPane();
JTabbedPane tabbedPane = new JTabbedPane();// 创建一个默认的选项卡面板
JLabel tabLabelA = new JLabel("选项卡A");
JLabel tabLabelB = new JLabel("选项卡B");
JLabel tabLabelC = new JLabel("选项卡C");
// 将标签组件添加到选项卡中
tabbedPane.addTab("选项卡A", tabLabelA);
tabbedPane.addTab("选项卡B", tabLabelB);
tabbedPane.addTab("选项卡C", tabLabelC);
c.add(tabbedPane);
jf.setVisible(true);
}
}
运行效果: