java.lang.Object java.awt.Component java.awt.Container javax.swing.JComponent javax.swing.JTabbedPane
public class JTabbedPane
一个组件,它允许用户通过单击具有给定标题和/或图标的选项卡,在一组组件之间进行切换。有关使用选项卡窗格的例子和信息,请参阅 The Java Tutorial 中的 How to Use Tabbed Panes 一节。
通过使用 addTab
和 insertTab
方法将选项卡/组件添加到 TabbedPane
对象中。选项卡通过对应于添加位置的索引来表示,其中第一个选项卡的索引为 0,最后一个选项卡的索引为选项卡数减 1。
TabbedPane
使用 SingleSelectionModel
来表示选项卡索引集和当前所选择的索引。如果选项卡数大于 0,则总会有一个被选定的索引,此索引默认被初始化为第一个选项卡。如果选项卡数为 0,则所选择的索引为 -1。
制表符标题可由 Component
呈现。例如,以下代码将产生类似的结果:
// In this case the look and feel renders the title for the tab. tabbedPane.addTab("Tab", myComponent); // In this case the custom component is responsible for rendering the // title of the tab. tabbedPane.addTab(null, myComponent); tabbedPane.setTabComponentAt(0, new JLabel("Tab"));当想要一个更复杂的用户交互(需要制表符上的自定义组件)时,通常使用后者。例如,可提供一个显示动画的自定义组件或者具有关闭制表符的小部件的组件。
如果为制表符指定一个组件,则 JTabbedPane
将不会呈现为该制表符指定的任何文本或图标。
注: 不要在制表符组件上直接使用 setVisible
以使其可见,使用 setSelectedComponent
或 setSelectedIndex
方法来替代。
警告:Swing 不是线程安全的。有关更多信息,请参阅 Swing's Threading Policy。
警告:此类的已序列化对象与以后的 Swing 版本不兼容。当前序列化支持适用于短期存储,或适用于在运行相同 Swing 版本的应用程序之间进行 RMI(Remote Method Invocation,远程方法调用)。从 1.4 版本开始,已在 java.beans
包中添加了支持所有 JavaBeansTM 长期存储的功能。请参见 XMLEncoder
。
SingleSelectionModel
嵌套类摘要 | |
---|---|
protected class |
JTabbedPane.AccessibleJTabbedPane 此类实现对 JTabbedPane 类的可访问性支持。 |
protected class |
JTabbedPane.ModelListener 将 ModelChanged 事件传递给侦听器,其中选项卡窗格(而不是模型本身)作为侦听器的事件源。 |
从类 javax.swing.JComponent 继承的嵌套类/接口 |
---|
JComponent.AccessibleJComponent |
从类 java.awt.Container 继承的嵌套类/接口 |
---|
Container.AccessibleAWTContainer |
从类 java.awt.Component 继承的嵌套类/接口 |
---|
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy |
字段摘要 | |
---|---|
protected ChangeEvent |
changeEvent 由于事件仅有的(只读)状态是源属性,因此每个 TabPane 实例只需要一个 ChangeEvent 。 |
protected ChangeListener |
changeListener changeListener 是添加到模型中的侦听器。 |
protected SingleSelectionModel |
model 默认的选择模型。 |
static int |
SCROLL_TAB_LAYOUT 当在一次运行中不能放入所有的选项卡时,用于提供可用选项卡子集的选项卡布局策略。 |
protected int |
tabPlacement 选项卡的放置位置。 |
static int |
WRAP_TAB_LAYOUT 当在一次运行中不能放入所有的选项卡时,在多次运行中包装选项卡的选项卡布局策略。 |
从类 javax.swing.JComponent 继承的字段 |
---|
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW |
从类 java.awt.Component 继承的字段 |
---|
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT |
从接口 javax.swing.SwingConstants 继承的字段 |
---|
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST |
从接口 java.awt.image.ImageObserver 继承的字段 |
---|
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH |
构造方法摘要 | |
---|---|
JTabbedPane() 创建一个具有默认的 JTabbedPane.TOP 选项卡布局的空 TabbedPane 。 |
|
JTabbedPane(int tabPlacement) 创建一个空的 TabbedPane ,使其具有以下指定选项卡布局中的一种:JTabbedPane.TOP 、JTabbedPane.BOTTOM 、JTabbedPane.LEFT 或 JTabbedPane.RIGHT 。 |
|
JTabbedPane(int tabPlacement, int tabLayoutPolicy) 创建一个空的 TabbedPane ,使其具有指定的选项卡布局和选项卡布局策略。 |
方法摘要 | |
---|---|
Component |
add(Component component) 添加一个 component ,其选项卡的默认值为调用 component.getName 返回的组件的名称。 |
Component |
add(Component component, int index) 在指定的选项卡索引位置添加一个 component ,默认的选项卡标题为组件名称。 |
void |
add(Component component, Object constraints) 将一个 component 添加到选项卡窗格中。 |
void |
add(Component component, Object constraints, int index) 在指定的选项卡索引位置添加一个 component 。 |
Component |
add(String title, Component component) 添加具有指定选项卡标题的 component 。 |
void |
addChangeListener(ChangeListener l) 将一个 ChangeListener 添加到此选项卡窗格中。 |
void |
addTab(String title, Component component) 添加一个由 title 表示,且没有图标的 component 。 |
void |
addTab(String title, Icon icon, Component component) 添加一个由 title 和/或 icon 表示的 component ,其任意一个都可以为 null 。 |
void |
addTab(String title, Icon icon, Component component, String tip) 添加由 title 和/或 icon 表示的 component 和 tip ,其中任意一个都可以为 null 。 |
protected ChangeListener |
createChangeListener() 要对 ChangeEvents 进行不同处理的子类可以重写它,从而返回 ModelListener 的一个子类,或者返回另一个 ChangeListener 实现。 |
protected void |
fireStateChanged() 将一个 ChangeEvent (以此 JTabbedPane 作为源)发送到每个已注册的侦听器。 |
AccessibleContext |
getAccessibleContext() 获取与此 JTabbedPane 关联的 AccessibleContext。 |
Color |
getBackgroundAt(int index) 返回 index 位置的选项卡背景色。 |
Rectangle |
getBoundsAt(int index) 返回 index 位置的选项卡边界。 |
ChangeListener[] |
getChangeListeners() 返回通过 addChangeListener 方法添加到此 JTabbedPane 中的所有 ChangeListener 的数组。 |
Component |
getComponentAt(int index) 返回 index 位置的组件。 |
Icon |
getDisabledIconAt(int index) 返回 index 位置的选项卡禁用图标。 |
int |
getDisplayedMnemonicIndexAt(int tabIndex) 返回作为索引的字符,外观必须提供它来表示助记符字符。 |
Color |
getForegroundAt(int index) 返回 index 位置的选项卡背景色。 |
Icon |
getIconAt(int index) 返回 index 位置的选项卡图标。 |
int |
getMnemonicAt(int tabIndex) 返回用于访问指定选项卡的键盘助记符。 |
SingleSelectionModel |
getModel() 返回与此选项卡窗格关联的模型。 |
Component |
getSelectedComponent() 返回此选项卡窗格当前选择的组件。 |
int |
getSelectedIndex() 返回当前选择的此选项卡窗格的索引。 |
Component |
getTabComponentAt(int index) 返回 index 位置上的选项卡组件。 |
int |
getTabCount() 返回此 tabbedpane 的选项卡数。 |
int |
getTabLayoutPolicy() 返回在一次运行中不能放入所有的选项卡时,选项卡窗格使用的对选项卡进行布局安排的策略。 |
int |
getTabPlacement() 返回此选项卡窗格的选项卡布局。 |
int |
getTabRunCount() 返回当前运行的用于显示选项卡的选项卡数。 |
String |
getTitleAt(int index) 返回 index 位置的选项卡标题。 |
String |
getToolTipText(MouseEvent event) 返回由鼠标事件位置确定的组件的工具提示文本。 |
String |
getToolTipTextAt(int index) 返回 index 位置的选项卡工具提示文本。 |
TabbedPaneUI |
getUI() 返回实现此组件的 L&F 的 UI 对象。 |
String |
getUIClassID() 返回实现此组件的 L&F 的 UI 类的名称。 |
int |
indexAtLocation(int x, int y) 返回选项卡边界与指定区域相交的选项卡索引。 |
int |
indexOfComponent(Component component) 返回指定组件的选项卡索引。 |
int |
indexOfTab(Icon icon) 返回具有给定的 icon 的第一个选项卡索引,如果没有具有此图标的选项卡,则返回 -1。 |
int |
indexOfTab(String title) 返回具有给定 title 的第一个选项卡索引,如果没有具有此标题的选项卡,则返回 -1。 |
int |
indexOfTabComponent(Component tabComponent) 返回指定选项卡组件的选项卡索引。 |
void |
insertTab(String title, Icon icon, Component component, String tip, int index) 在 index 位置插入一个 component ,该组件通过 title 和/或 icon (任意一个都可以为 null )来表示。 |
boolean |
isEnabledAt(int index) 返回当前是否启用了 index 位置的选项卡。 |
protected String |
paramString() 返回此 JTabbedPane 的字符串表示。 |
void |
remove(Component component) 从 JTabbedPane 中移除指定 Component 。 |
void |
remove(int index) 移除对应于指定索引的选项卡和组件。 |
void |
removeAll() 从 tabbedpane 中移除所有选项卡及其相应组件。 |
void |
removeChangeListener(ChangeListener l) 从此选项卡窗格中移除一个 ChangeListener 。 |
void |
removeTabAt(int index) 移除 index 位置的选项卡。 |
void |
setBackgroundAt(int index, Color background) 将 index 位置的背景色设置为 background ,它可以为 null ,在这种情况下选项卡的背景色默认为 tabbedpane 的背景色。 |
void |
setComponentAt(int index, Component component) 将 index 位置的组件设置为 component 。 |
void |
setDisabledIconAt(int index, Icon disabledIcon) 将 index 位置的禁用图标设置为 icon ,它可以为 null 。 |
void |
setDisplayedMnemonicIndexAt(int tabIndex, int mnemonicIndex) 提供一个外观的提示,此提示是关于文本中哪此字符必须被装饰用来表示助记符。 |
void |
setEnabledAt(int index, boolean enabled) 设置是否启用 index 位置的选项卡。 |
void |
setForegroundAt(int index, Color foreground) 将 index 位置的前景色设置为 foreground ,它可以为 null ,在这种情况下选项卡的前景色默认为此 tabbedpane 的前景色。 |
void |
setIconAt(int index, Icon icon) 将 index 位置的图标设置为 icon ,它可以为 null 。 |
void |
setMnemonicAt(int tabIndex, int mnemonic) 设置用于访问指定选项卡的键盘助记符。 |
void |
setModel(SingleSelectionModel model) 设置要用于此选项卡窗格的模型。 |
void |
setSelectedComponent(Component c) 设置此选项卡窗格的已选组件。 |
void |
setSelectedIndex(int index) 设置所选择的此选项卡窗格的索引。 |
void |
setTabComponentAt(int index, Component component) 设置负责呈现指定选项卡标题的组件。 |
void |
setTabLayoutPolicy(int tabLayoutPolicy) 设置在一次运行中不能放入所有的选项卡时,选项卡窗格使用的对选项卡进行布局安排的策略。 |
void |
setTabPlacement(int tabPlacement) 设置此选项卡窗格的选项卡布局。 |
void |
setTitleAt(int index, String title) 将 index 位置的标题设置为 title ,它可以为 null 。 |
void |
setToolTipTextAt(int index, String toolTipText) 将 index 位置的工具提示文本设置为 toolTipText ,它可以为 null 。 |
void |
setUI(TabbedPaneUI ui) 设置实现此组件的 L&F 的 UI 对象。 |
void |
updateUI() 从当前外观更新 UI 属性的值。 |