javax.swing

接口
异常
java.lang.Object
  继承者 java.awt.Component
      继承者 java.awt.Container
          继承者 javax.swing.JComponent
              继承者 javax.swing.JTabbedPane
所有已实现的接口:
ImageObserver, MenuContainer, Serializable, Accessible, SwingConstants

public class JTabbedPane
     
extends JComponent
implements Serializable, Accessible, SwingConstants

一个组件,它允许用户通过单击具有给定标题和/或图标的选项卡,在一组组件之间进行切换。有关使用选项卡窗格的例子和信息,请参阅 The Java Tutorial 中的 How to Use Tabbed Panes 一节。

通过使用 addTabinsertTab 方法将选项卡/组件添加到 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 以使其可见,使用 setSelectedComponentsetSelectedIndex 方法来替代。

警告: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.TOPJTabbedPane.BOTTOMJTabbedPane.LEFTJTabbedPane.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 表示的 componenttip,其中任意一个都可以为 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 属性的值。
 
从类 javax.swing.JComponent 继承的方法
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled,

JDK 1.6 中文手册