JavaTM Platform
Standard Ed. 6

javax.swing
类 JTabbedPane

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, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
从类 java.awt.Container 继承的方法
addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
从类 java.awt.Component 继承的方法
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

字段详细信息

WRAP_TAB_LAYOUT

public static final int WRAP_TAB_LAYOUT
当在一次运行中不能放入所有的选项卡时,在多次运行中包装选项卡的选项卡布局策略。

另请参见:
常量字段值

SCROLL_TAB_LAYOUT

public static final int SCROLL_TAB_LAYOUT
当在一次运行中不能放入所有的选项卡时,用于提供可用选项卡子集的选项卡布局策略。如果在一次运行中不能放入所有的选项卡,则外观(look and feel)将提供一种导航到隐藏的选项卡的方法。

另请参见:
常量字段值

tabPlacement

protected int tabPlacement
选项卡的放置位置。

另请参见:
setTabPlacement(int)

model

protected SingleSelectionModel model
默认的选择模型。


changeListener

protected ChangeListener changeListener
changeListener 是添加到模型中的侦听器。


changeEvent

protected transient ChangeEvent changeEvent
由于事件仅有的(只读)状态是源属性,因此每个 TabPane 实例只需要一个 ChangeEvent。此处生成的事件源总是 "this"。

构造方法详细信息

JTabbedPane

public JTabbedPane()
创建一个具有默认的 JTabbedPane.TOP 选项卡布局的空 TabbedPane

另请参见:
addTab(java.lang.String, javax.swing.Icon, java.awt.Component, java.lang.String)

JTabbedPane

public JTabbedPane(int tabPlacement)
创建一个空的 TabbedPane,使其具有以下指定选项卡布局中的一种:JTabbedPane.TOPJTabbedPane.BOTTOMJTabbedPane.LEFTJTabbedPane.RIGHT

参数:
tabPlacement - 关于内容的选项卡布局
另请参见:
addTab(java.lang.String, javax.swing.Icon, java.awt.Component, java.lang.String)

JTabbedPane

public JTabbedPane(int tabPlacement,
                   int tabLayoutPolicy)
创建一个空的 TabbedPane,使其具有指定的选项卡布局和选项卡布局策略。布局可以是以下几种之一:JTabbedPane.TOPJTabbedPane.BOTTOMJTabbedPane.LEFTJTabbedPane.RIGHT。布局策略可以是以下两种之一:JTabbedPane.WRAP_TAB_LAYOUTJTabbedPane.SCROLL_TAB_LAYOUT

参数:
tabPlacement - 关于内容的选项卡布局
tabLayoutPolicy - 当在一次运行中不能放入所有的选项卡时,放置选项卡的策略
抛出:
IllegalArgumentException - 如果选项卡布局或选项卡布局策略不是以上受支持的值中的一个
从以下版本开始:
1.4
另请参见:
addTab(java.lang.String, javax.swing.Icon, java.awt.Component, java.lang.String)
方法详细信息

getUI

public TabbedPaneUI getUI()
返回实现此组件的 L&F 的 UI 对象。

返回:
TabbedPaneUI 对象
另请参见:
setUI(javax.swing.plaf.TabbedPaneUI)

setUI

public void setUI(TabbedPaneUI ui)
设置实现此组件的 L&F 的 UI 对象。

参数:
ui - 新的 UI 对象
另请参见:
UIDefaults.getUI(javax.swing.JComponent)

updateUI

public void updateUI()
从当前外观更新 UI 属性的值。

覆盖:
JComponent 中的 updateUI
另请参见:
JComponent.updateUI()

getUIClassID

public String getUIClassID()
返回实现此组件的 L&F 的 UI 类的名称。

覆盖:
JComponent 中的 getUIClassID
返回:
字符串 "TabbedPaneUI"
另请参见:
JComponent.getUIClassID(), UIDefaults.getUI(javax.swing.JComponent)

createChangeListener

protected ChangeListener createChangeListener()
要对 ChangeEvents 进行不同处理的子类可以重写它,从而返回 ModelListener 的一个子类,或者返回另一个 ChangeListener 实现。

另请参见:
fireStateChanged()

addChangeListener

public void addChangeListener(ChangeListener l)
将一个 ChangeListener 添加到此选项卡窗格中。

参数:
l - 要添加的 ChangeListener
另请参见:
fireStateChanged(), removeChangeListener(javax.swing.event.ChangeListener)

removeChangeListener

public void removeChangeListener(ChangeListener l)
从此选项卡窗格中移除一个 ChangeListener

参数:
l - 要移除的 ChangeListener
另请参见:
fireStateChanged(), addChangeListener(javax.swing.event.ChangeListener)

getChangeListeners

public ChangeListener[] getChangeListeners()
返回通过 addChangeListener 方法添加到此 JTabbedPane 中的所有 ChangeListener 的数组。

返回:
所有添加的 ChangeListener,或者在没有添加侦听器时返回一个空数组
从以下版本开始:
1.4

fireStateChanged

protected void fireStateChanged()
将一个 ChangeEvent(以此 JTabbedPane 作为源)发送到每个已注册的侦听器。每次选定的索引或 JTabbedPane 中选定的制表符发生了更改时调用此方法。通常,选定的索引和选定的制表符同时更改。但是,在某些情况下(如选项卡增加),选定的索引发生了更改而选定的选项卡却保持不变。还有一些情况下(如删除选定的选项卡),索引保持不变,但一个新的选项卡移动到该索引。对于所有这些情况都将触发事件。

另请参见:
addChangeListener(javax.swing.event.ChangeListener), EventListenerList

getModel

public SingleSelectionModel getModel()
返回与此选项卡窗格关联的模型。

另请参见:
setModel(javax.swing.SingleSelectionModel)

setModel

public void setModel(SingleSelectionModel model)
设置要用于此选项卡窗格的模型。

参数:
model - 要使用的模型
另请参见:
getModel()

getTabPlacement

public int getTabPlacement()
返回此选项卡窗格的选项卡布局。

另请参见:
setTabPlacement(int)

setTabPlacement

public void setTabPlacement(int tabPlacement)
设置此选项卡窗格的选项卡布局。可能的值为: 如果未设置,则默认值为 SwingConstants.TOP

参数:
tabPlacement - 关于内容的选项卡布局
抛出:
IllegalArgumentException - 如果选项卡布局的值不是以上的有效值之一

getTabLayoutPolicy

public int getTabLayoutPolicy()
返回在一次运行中不能放入所有的选项卡时,选项卡窗格使用的对选项卡进行布局安排的策略。

从以下版本开始:
1.4
另请参见:
setTabLayoutPolicy(int)

setTabLayoutPolicy

public void setTabLayoutPolicy(int tabLayoutPolicy)
设置在一次运行中不能放入所有的选项卡时,选项卡窗格使用的对选项卡进行布局安排的策略。可能的值为: 如果未通过 UI 进行设置,则默认值为 JTabbedPane.WRAP_TAB_LAYOUT

一些外观可能只支持可能的布局策略的一个子集,在这种情况下可以忽略此属性的值。

参数:
tabLayoutPolicy - 用于安排选项卡的策略
抛出:
IllegalArgumentException - 如果 layoutPolicy 的值不是以上有效值之一
从以下版本开始:
1.4
另请参见:
getTabLayoutPolicy()

getSelectedIndex

public int getSelectedIndex()
返回当前选择的此选项卡窗格的索引。如果当前没有选择选项卡,则返回 -1。

返回:
所选择的选项卡的索引
另请参见:
setSelectedIndex(int)

setSelectedIndex

public void setSelectedIndex(int index)
设置所选择的此选项卡窗格的索引。索引必须为有效的选项卡索引或为 -1,-1 指示不应该选择选项卡(也可以用于选项卡窗格中没有选项卡的情况)。如果在选项卡窗格中包含一个或多个选项卡时指定了 -1,则结果将是已定义的实现。

参数:
index - 要选择的索引
抛出:
IndexOutOfBoundsException - 如果索引超出了范围(index < -1 || index >= tab count)
另请参见:
getSelectedIndex(), SingleSelectionModel.setSelectedIndex(int)

getSelectedComponent

public Component getSelectedComponent()
返回此选项卡窗格当前选择的组件。如果当前没有选择选项卡,则返回 null

返回:
与选择的选项卡对应的组件
另请参见:
setSelectedComponent(java.awt.Component)

setSelectedComponent

public void setSelectedComponent(Component c)
设置此选项卡窗格的已选组件。这将自动将 selectedIndex 设置为对应于指定组件的索引。

抛出:
IllegalArgumentException - 如果选项卡窗格中没有组件
另请参见:
getSelectedComponent()

insertTab

public void insertTab(String title,
                      Icon icon,
                      Component component,
                      String tip,
                      int index)
index 位置插入一个 component,该组件通过 title 和/或 icon(任意一个都可以为 null)来表示。在内部使用 java.util.Vector,有关插入约定的详细信息请参阅 insertElementAt

参数:
title - 要在此选项卡中显示的标题
icon - 要在此选项卡中显示的图标
component - 单击此选项卡时要显示的组件。
tip - 此选项卡要显示的工具提示
index - 要插入此新选项卡的位置
另请参见:
addTab(java.lang.String, javax.swing.Icon, java.awt.Component, java.lang.String), removeTabAt(int)

addTab

public void addTab(String title,
                   Icon icon,
                   Component component,
                   String tip)
添加由 title 和/或 icon 表示的 componenttip,其中任意一个都可以为 nullinsertTab 的覆盖方法。

参数:
title - 此选项卡中要显示的标题
icon - 此选项卡中要显示的图标
component - 单击此选项卡时要显示的组件
tip - 此选项卡要显示的工具提示
另请参见:
insertTab(java.lang.String, javax.swing.Icon, java.awt.Component, java.lang.String, int), removeTabAt(int)

addTab

public void addTab(String title,
                   Icon icon,
                   Component component)
添加一个由 title 和/或 icon 表示的 component,其任意一个都可以为 nullinsertTab 的覆盖方法。

参数:
title - 此选项卡中要显示的标题
icon - 此选项卡中要显示的图标
component - 单击此选项卡时要显示的组件
另请参见:
insertTab(java.lang.String, javax.swing.Icon, java.awt.Component, java.lang.String, int), removeTabAt(int)

addTab

public void addTab(String title,
                   Component component)
添加一个由 title 表示,且没有图标的 componentinsertTab 的覆盖方法。

参数:
title - 此选项卡要显示的标题
component - 单击此选项卡时要显示的组件
另请参见:
insertTab(java.lang.String, javax.swing.Icon, java.awt.Component, java.lang.String, int), removeTabAt(int)

add

public Component add(Component component)
添加一个 component,其选项卡的默认值为调用 component.getName 返回的组件的名称。insertTab 的覆盖方法。

覆盖:
Container 中的 add
参数:
component - 单击此选项卡时要显示的组件
返回:
此组件
另请参见:
insertTab(java.lang.String, javax.swing.Icon, java.awt.Component, java.lang.String, int), removeTabAt(int)

add

public Component add(String title,
                     Component component)
添加具有指定选项卡标题的 componentinsertTab 的覆盖方法。

覆盖:
Container 中的 add
参数:
title - 此选项卡要显示的标题
component - 单击此选项卡时要显示的组件
返回:
此组件
另请参见:
insertTab(java.lang.String, javax.swing.Icon, java.awt.Component, java.lang.String, int), removeTabAt(int)

add

public Component add(Component component,
                     int index)
在指定的选项卡索引位置添加一个 component,默认的选项卡标题为组件名称。insertTab 的覆盖方法。

覆盖:
Container 中的 add
参数:
component - 单击此选项卡时要显示的组件
index - 新选项卡的插入位置
返回:
此组件
另请参见:
insertTab(java.lang.String, javax.swing.Icon, java.awt.Component, java.lang.String, int), removeTabAt(int)

add

public void add(Component component,
                Object constraints)
将一个 component 添加到选项卡窗格中。如果 constraintsStringIcon,则它将用于选项卡标题,否则组件名称将用作选项卡标题。insertTab 的覆盖方法。

覆盖:
Container 中的 add
参数:
component - 单击此选项卡时要显示的组件
constraints - 选项卡中要显示的对象
另请参见:
insertTab(java.lang.String, javax.swing.Icon, java.awt.Component, java.lang.String, int), removeTabAt(int)

add

public void add(Component component,
                Object constraints,
                int index)
在指定的选项卡索引位置添加一个 component。如果 constraintsStringIcon,则它将用于选项卡标题,否则组件名称将用作选项卡标题。insertTab 的覆盖方法。

覆盖:
Container 中的 add
参数:
component - 单击此选项卡时要显示的组件
constraints - 选项卡中要显示的对象
index - 插入新选项卡的位置
另请参见:
insertTab(java.lang.String, javax.swing.Icon, java.awt.Component, java.lang.String, int), removeTabAt(int)

removeTabAt

public void removeTabAt(int index)
移除 index 位置的选项卡。移除与 index 关联的组件后,将其可见性重置为 true,以确保加入到其他容器时是可见的。

参数:
index - 要移除的选项卡的索引
抛出:
IndexOutOfBoundsException - 如果索引超出了范围(index < 0 || index >= tab count)
另请参见:
addTab(java.lang.String, javax.swing.Icon, java.awt.Component, java.lang.String), insertTab(java.lang.String, javax.swing.Icon, java.awt.Component, java.lang.String, int)

remove

public void remove(Component component)
JTabbedPane 中移除指定 Component。如果 component 为 null,则此方法不执行任何操作。

覆盖:
Container 中的 remove
参数:
component - 要从选项卡窗格中移除的组件
另请参见:
addTab(java.lang.String, javax.swing.Icon, java.awt.Component, java.lang.String), removeTabAt(int)

remove

public void remove(int index)
移除对应于指定索引的选项卡和组件。

覆盖:
Container 中的 remove
参数:
index - 要从 tabbedpane 中移除的组件的索引
抛出:
IndexOutOfBoundsException - 如果索引超出了范围(index < 0 || index >= tab count)
另请参见:
addTab(java.lang.String, javax.swing.Icon, java.awt.Component, java.lang.String), removeTabAt(int)

removeAll

public void removeAll()
tabbedpane 中移除所有选项卡及其相应组件。

覆盖:
Container 中的 removeAll
另请参见:
addTab(java.lang.String, javax.swing.Icon, java.awt.Component, java.lang.String), removeTabAt(int)

getTabCount

public int getTabCount()
返回此 tabbedpane 的选项卡数。

返回:
指定了选项卡页数的整数

getTabRunCount

public int getTabRunCount()
返回当前运行的用于显示选项卡的选项卡数。

返回:
一个整数,如果 tabPlacementTOPBOTTOM,则此数给出了行数,如果 tabPlacementLEFTRIGHT,则此数给出了列数,如果此 tabbedpane 没有设置 UI,则此数为 0

getTitleAt

public String getTitleAt(int index)
返回 index 位置的选项卡标题。

参数:
index - 正在被查询的项的索引
返回:
index 位置的标题
抛出:
IndexOutOfBoundsException - 如果索引超出了范围(index < 0 || index >= tab count)
另请参见:
setTitleAt(int, java.lang.String)

getIconAt

public Icon getIconAt(int index)
返回 index 位置的选项卡图标。

参数:
index - 正在被查询的项的索引
返回:
index 位置的图标
抛出:
IndexOutOfBoundsException - 如果索引超出了范围(index < 0 || index >= tab count)
另请参见:
setIconAt(int, javax.swing.Icon)

getDisabledIconAt

public Icon getDisabledIconAt(int index)
返回 index 位置的选项卡禁用图标。如果在 index 位置不存在选项卡禁用图标,则将该调用转发到外观,以从对应的启用的 Icon 构造合适的禁用 Icon。一些外观可能不呈现禁用的 Icon,在这种情况下将不创建禁用的 Icon。

参数:
index - 正在被查询的项的索引
返回:
index 位置的图标
抛出:
IndexOutOfBoundsException - 如果索引超出了范围(index < 0 || index >= tab count)
另请参见:
setDisabledIconAt(int, javax.swing.Icon)

getToolTipTextAt

public String getToolTipTextAt(int index)
返回 index 位置的选项卡工具提示文本。

参数:
index - 正在被查询的项的索引
返回:
包含 index 位置的工具提示文本的字符串
抛出:
IndexOutOfBoundsException - 如果索引超出了范围(index < 0 || index >= tab count)
从以下版本开始:
1.3
另请参见:
setToolTipTextAt(int, java.lang.String)

getBackgroundAt

public Color getBackgroundAt(int index)
返回 index 位置的选项卡背景色。

参数:
index - 正在被查询的项的索引
返回:
index 位置的选项卡背景色的 Color
抛出:
IndexOutOfBoundsException - 如果索引超出了范围(index < 0 || index >= tab count)
另请参见:
setBackgroundAt(int, java.awt.Color)

getForegroundAt

public Color getForegroundAt(int index)
返回 index 位置的选项卡背景色。

参数:
index - 正在被查询的项的索引
返回:
index 位置的选项卡的前景 Color
抛出:
IndexOutOfBoundsException - 如果索引超出了范围(index < 0 || index >= tab count)
另请参见:
setForegroundAt(int, java.awt.Color)

isEnabledAt

public boolean isEnabledAt(int index)
返回当前是否启用了 index 位置的选项卡。

参数:
index - 正在被查询的项的索引
返回:
如果启用了 index 位置的选项卡,则返回 true;否则返回 false
抛出:
IndexOutOfBoundsException - 如果索引超出了范围(index < 0 || index >= tab count)
另请参见:
setEnabledAt(int, boolean)

getComponentAt

public Component getComponentAt(int index)
返回 index 位置的组件。

参数:
index - 正在被查询的项的索引
返回:
index 位置的 Component
抛出:
IndexOutOfBoundsException - 如果索引超出了范围(index < 0 || index >= tab count)
另请参见:
setComponentAt(int, java.awt.Component)

getMnemonicAt

public int getMnemonicAt(int tabIndex)
返回用于访问指定选项卡的键盘助记符。助记符是一个键,在与外观的无鼠标修改键(通常为 Alt)一起使用时,它将激活指定的选项卡。

参数:
tabIndex - 助记符引用的选项卡的索引
返回:
表示助记符的键代码;如果选项卡没有指定助记符,则返回 -1
抛出:
IndexOutOfBoundsException - 如果索引超出了范围(tabIndex < 0 || tabIndex >= tab count)
从以下版本开始:
1.4
另请参见:
setDisplayedMnemonicIndexAt(int,int), setMnemonicAt(int,int)

getDisplayedMnemonicIndexAt

public int getDisplayedMnemonicIndexAt(int tabIndex)
返回作为索引的字符,外观必须提供它来表示助记符字符。

参数:
tabIndex - 助记符要引用的选项卡索引
返回:
表示助记符字符(如果存在)的索引;否则返回 -1
抛出:
IndexOutOfBoundsException - 如果索引超出了范围(tabIndex < 0 || tabIndex >= tab count)
从以下版本开始:
1.4
另请参见:
setDisplayedMnemonicIndexAt(int,int), setMnemonicAt(int,int)

getBoundsAt

public Rectangle getBoundsAt(int index)
返回 index 位置的选项卡边界。如果当前此索引位置的选项卡在 UI 中不可见,则返回 null。如果在此 tabbedpane 上没有设置 UI,则返回 null

参数:
index - 要查询的索引
返回:
包含 index 位置的选项卡边界的 Rectangle,如果当前 index 位置的选项卡在 UI 中不可见,则返回 null,如果在此 tabbedpane 上没有设置 UI,也将返回 null
抛出:
IndexOutOfBoundsException - 如果索引超出了范围(index < 0 || index >= tab count)

setTitleAt

public void setTitleAt(int index,
                       String title)
index 位置的标题设置为 title,它可以为 null。如果未指定此选项卡的选项卡组件,则不显示该标题。如果在该索引位置没有选项卡,则将引发一个内部异常。

参数:
index - 标题要被设置的位置的选项卡索引
title - 选项卡上要显示的标题
抛出:
IndexOutOfBoundsException - 如果索引超出了范围(index < 0 || index >= tab count)
另请参见:
getTitleAt(int), setTabComponentAt(int, java.awt.Component)

setIconAt

public void setIconAt(int index,
                      Icon icon)
index 位置的图标设置为 icon,它可以为 null。此方法不能设置 icon 位置的禁用图标。如果新的 Icon 不同于当前的 Icon,且禁用的图标不是显式设置的,那么 LookAndFeel 会被要求生成一个禁用的 Icon。要显式设置禁用的图标,请使用 setDisableIconAt()。如果指定了此选项卡的选项卡组件,则不显示该图标。如果在该索引位置没有选项卡,则会引发一个内部异常。

参数:
index - 图标要被设置的位置的选项卡索引
icon - 要在选项卡中显示的图标
抛出:
IndexOutOfBoundsException - 如果索引超出了范围(index < 0 || index >= tab count)
另请参见:
setDisabledIconAt(int, javax.swing.Icon), getIconAt(int), getDisabledIconAt(int), setTabComponentAt(int, java.awt.Component)

setDisabledIconAt

public void setDisabledIconAt(int index,
                              Icon disabledIcon)
index 位置的禁用图标设置为 icon,它可以为 null。如果在该索引位置没有选项卡,则会引发一个内部异常。

参数:
index - 图标要被设置的位置的选项卡索引
disabledIcon - 当禁用时要在选项卡中显示的图标
抛出:
IndexOutOfBoundsException - 如果索引超出了范围(index < 0 || index >= tab count)
另请参见:
getDisabledIconAt(int)

setToolTipTextAt

public void setToolTipTextAt(int index,
                             String toolTipText)
index 位置的工具提示文本设置为 toolTipText,它可以为 null。如果在该索引位置没有选项卡,则会引发一个内部异常。

参数:
index - 工具提示文本要被设置的位置选项卡索引
toolTipText - 选项卡中要显示的工具提示文本
抛出:
IndexOutOfBoundsException - 如果索引超出了范围(index < 0 || index >= tab count)
从以下版本开始:
1.3
另请参见:
getToolTipTextAt(int)

setBackgroundAt

public void setBackgroundAt(int index,
                            Color background)
index 位置的背景色设置为 background,它可以为 null,在这种情况下选项卡的背景色默认为 tabbedpane 的背景色。如果在该索引位置没有选项卡,则会引发一个内部异常。

参数:
index - 要设置背景色的位置的选项卡索引
background - 要在选项卡背景中显示的颜色
抛出:
IndexOutOfBoundsException - 如果索引超出了范围(index < 0 || index >= tab count)
另请参见:
getBackgroundAt(int)

setForegroundAt

public void setForegroundAt(int index,
                            Color foreground)
index 位置的前景色设置为 foreground,它可以为 null,在这种情况下选项卡的前景色默认为此 tabbedpane 的前景色。如果在该索引位置没有选项卡,则会引发一个内部异常。

参数:
index - 要设置前景色的位置的选项卡索引
foreground - 要作为选项卡前景色显示的颜色
抛出:
IndexOutOfBoundsException - 如果索引超出了范围(index < 0 || index >= tab count)
另请参见:
getForegroundAt(int)

setEnabledAt

public void setEnabledAt(int index,
                         boolean enabled)
设置是否启用 index 位置的选项卡。如果在该索引位置没有选项卡,则会引发一个内部异常。

参数:
index - 要启用/禁用的选项卡索引
enabled - 选项卡是否启用
抛出:
IndexOutOfBoundsException - 如果索引超出了范围(index < 0 || index >= tab count)
另请参见:
isEnabledAt(int)

setComponentAt

public void setComponentAt(int index,
                           Component component)
index 位置的组件设置为 component。如果在该索引位置没有选项卡,则会引发一个内部异常。

参数:
index - 此组件放置位置的选项卡索引
component - 选项卡的组件
抛出:
IndexOutOfBoundsException - 如果索引超出了范围(index < 0 || index >= tab count)
另请参见:
getComponentAt(int)

setDisplayedMnemonicIndexAt

public void setDisplayedMnemonicIndexAt(int tabIndex,
                                        int mnemonicIndex)
提供一个外观的提示,此提示是关于文本中哪此字符必须被装饰用来表示助记符。不是所有的外观都支持此功能。-1 指示两种情况,或者此选项卡没有助记符,或者用户不希望此选项卡显示助记符。

此值随着助记符相关属性的改变(例如助记符本身、文本等等)而更新。如果不需要默认字符带有下划线,则不必调用此方法。例如,如果索引为 3 的选项卡的文本为 'Apple Price',助记符为 'p',并且要将其装饰为 'Apple Price',那么必须在调用 setMnemonicAt(3, KeyEvent.VK_P) 之后调用 setDisplayedMnemonicIndex(3, 6)

注意,程序员要负责确保每个选项卡具有惟一的助记符,否则将发生不可预计的结果。

参数:
tabIndex - 助记符引用的选项卡索引
mnemonicIndex - 要加下划线的 String 的索引
抛出:
IndexOutOfBoundsException - 如果 tabIndex 超出了范围(tabIndex < 0 || tabIndex >= tab count)
IllegalArgumentException - 将被抛出,如果 mnemonicIndex >= 选项卡标题的长度或 < -1
从以下版本开始:
1.4
另请参见:
setMnemonicAt(int,int), getDisplayedMnemonicIndexAt(int)

setMnemonicAt

public void setMnemonicAt(int tabIndex,
                          int mnemonic)
设置用于访问指定选项卡的键盘助记符。助记符是一个键,在与外观的无鼠标修改键(通常为 Alt)一起使用时,它将激活指定的选项卡。

助记符必须对应于键盘上的单个键,且必须使用 java.awt.event.KeyEvent 中定义的 VK_XXX 键代码之一来指定。助记符是不区分大小写的,因此具有对应键代码的键事件将导致铵钮被激活,而不管 Shift 键是否按下。

这将更新指定选项卡所显示的助记符属性。

参数:
tabIndex - 助记符引用的选项卡的索引
mnemonic - 表示助记符的键代码
抛出:
IndexOutOfBoundsException - 如果 tabIndex 超出了范围(tabIndex < 0 || tabIndex >= tab count
从以下版本开始:
1.4
另请参见:
getMnemonicAt(int), setDisplayedMnemonicIndexAt(int,int)

indexOfTab

public int indexOfTab(String title)
返回具有给定 title 的第一个选项卡索引,如果没有具有此标题的选项卡,则返回 -1。

参数:
title - 选项卡的标题
返回:
title 匹配的第一个选项卡索引,如果没有具有此标题的选项卡,则返回 -1

indexOfTab

public int indexOfTab(Icon icon)
返回具有给定的 icon 的第一个选项卡索引,如果没有具有此图标的选项卡,则返回 -1。

参数:
icon - 选项卡的图标
返回:
icon 匹配的第一个选项卡索引,如果没有具有此图标的选项卡,则返回 -1

indexOfComponent

public int indexOfComponent(Component component)
返回指定组件的选项卡索引。如果此组件没有选项卡,则返回 -1。

参数:
component - 选项卡的组件
返回:
与此组件匹配的第一个选项卡,如果此组件没有选项卡,则返回 -1

indexAtLocation

public int indexAtLocation(int x,
                           int y)
返回选项卡边界与指定区域相交的选项卡索引。如果没有与此区域相交的选项卡,则返回 -1。

参数:
x - 相对于此选项卡窗格的 x 位置
y - 相对于此选项卡窗格的 y 位置
返回:
与此位置相交的选项卡索引,如果没有与此位置相交的选项卡,则返回 -1
从以下版本开始:
1.4

getToolTipText

public String getToolTipText(MouseEvent event)
返回由鼠标事件位置确定的组件的工具提示文本。

覆盖:
JComponent 中的 getToolTipText
参数:
event - MouseEvent,它告知光标的当前位置
返回:
包含工具提示文本的 String

paramString

protected String paramString()
返回此 JTabbedPane 的字符串表示。此方法仅用于调试目的,对于各个实现,所返回字符串的内容和格式可能有所不同。返回的字符串可能为空,但不可能为 null

覆盖:
JComponent 中的 paramString
返回:
此 JTabbedPane 的字符串表示形式。

getAccessibleContext

public AccessibleContext getAccessibleContext()
获取与此 JTabbedPane 关联的 AccessibleContext。对于选项卡窗格,AccessibleContext 采用 AccessibleJTabbedPane 的形式。必要时创建新的 AccessibleJTabbedPane 实例。

指定者:
接口 Accessible 中的 getAccessibleContext
覆盖:
JComponent 中的 getAccessibleContext
返回:
一个 AccessibleJTabbedPane,它充当此 JTabbedPane 的 AccessibleContext

setTabComponentAt

public void setTabComponentAt(int index,
                              Component component)
设置负责呈现指定选项卡标题的组件。null 值意味着 JTabbedPane 将呈现指定选项卡的标题和/或图标。非 null 值意味着该组件将呈现标题,并且 JTabbedPane 将不呈现标题和/或图标。

注:该组件不得是开发人员已添加到选项卡面板中的组件之一。

参数:
index - 应该在其中设置组件的选项卡索引
component - 要呈现指定选项卡标题的组件
抛出:
IndexOutOfBoundsException - 如果索引超出了范围 (index < 0 || index >= tab count)
IllegalArgumentException - 如果组件已添加到此 JTabbedPane
从以下版本开始:
1.6
另请参见:
getTabComponentAt(int)

getTabComponentAt

public Component getTabComponentAt(int index)
返回 index 位置上的选项卡组件。

参数:
index - 被查询的项的索引
返回:
index 位置上的选项卡组件
抛出:
IndexOutOfBoundsException - 如果索引超出了范围 (index < 0 || index >= tab count)
从以下版本开始:
1.6
另请参见:
setTabComponentAt(int, java.awt.Component)

indexOfTabComponent

public int indexOfTabComponent(Component tabComponent)
返回指定选项卡组件的选项卡索引。如果此选项卡组件没有选项卡,则返回 -1。

参数:
tabComponent - 该选项卡的选项卡组件
返回:
匹配此选项卡组件的第一个选项卡;如果此选项卡组件没有选项卡,则返回 -1
从以下版本开始:
1.6
另请参见:
setTabComponentAt(int, java.awt.Component), getTabComponentAt(int)

JavaTM Platform
Standard Ed. 6

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策