Module java.desktop
Package javax.swing

Class JTabbedPane

所有已实现的接口:
ImageObserver, MenuContainer, Serializable, Accessible, SwingConstants

@JavaBean(defaultProperty="UI", description="A component which provides a tab folder metaphor for displaying one component from a set of components.") public class JTabbedPane extends JComponent implements Serializable, Accessible, SwingConstants
通过单击具有给定标题和/或图标的选项卡,允许用户在一组组件之间切换的组件。有关选项卡窗格的示例和使用信息,请参见如何使用选项卡窗格,这是《Java教程》中的一节。

选项卡/组件通过使用addTabinsertTab方法添加到TabbedPane对象中。选项卡由与其添加位置对应的索引表示,其中第一个选项卡的索引等于0,最后一个选项卡的索引等于选项卡计数减1。

TabbedPane使用SingleSelectionModel来表示选项卡索引集合和当前选定的索引。如果选项卡计数大于0,则始终会有一个选定的索引,默认情况下将初始化为第一个选项卡。如果选项卡计数为0,则选定的索引将为-1。

选项卡标题可以由Component呈现。例如,以下两种方法会产生类似的结果:

 // 在这种情况下,外观和感觉会为选项卡呈现标题。
 tabbedPane.addTab("选项卡", myComponent);
 // 在这种情况下,自定义组件负责呈现选项卡的标题。
 tabbedPane.addTab(null, myComponent);
 tabbedPane.setTabComponentAt(0, new JLabel("选项卡"));
 
后一种方法通常用于需要自定义组件的更复杂用户交互的情况,该情况需要在选项卡上使用自定义组件。例如,您可以提供一个自定义组件,用于动画显示或具有用于关闭选项卡的小部件。

如果为选项卡指定了组件,则JTabbedPane将不会呈现您为选项卡指定的任何文本或图标。

注意: 不要直接在选项卡组件上使用setVisible使其可见,而应改用setSelectedComponentsetSelectedIndex方法。

警告: Swing不是线程安全的。有关更多信息,请参见Swing的线程策略

警告: 该类的序列化对象将不兼容未来的Swing版本。当前的序列化支持适用于短期存储或在运行相同版本的Swing应用程序之间进行RMI。从1.4开始,已将所有JavaBeans的长期存储支持添加到java.beans包中。请参见XMLEncoder

自从:
1.2
参见:
  • Field Details

    • WRAP_TAB_LAYOUT

      public static final int WRAP_TAB_LAYOUT
      当所有选项卡无法在单个运行中容纳时,用于在多个运行中包装选项卡的选项卡布局策略。
      参见:
    • SCROLL_TAB_LAYOUT

      public static final int SCROLL_TAB_LAYOUT
      提供一组可用选项卡的选项卡布局策略,当所有选项卡无法在单个运行中容纳时。如果所有选项卡无法在单个运行中容纳,外观和感觉将提供一种导航到隐藏选项卡的方式。
      参见:
    • tabPlacement

      protected int tabPlacement
      选项卡的放置位置。
      参见:
    • model

      protected SingleSelectionModel model
      默认选择模型
    • changeListener

      protected ChangeListener changeListener
      changeListener是我们添加到模型的监听器。
    • changeEvent

      protected transient ChangeEvent changeEvent
      每个TabPane实例只需要一个ChangeEvent,因为事件的唯一(只读)状态是源属性。这里生成的事件的源始终是"this"。
  • Constructor Details

  • Method Details

    • getUI

      public TabbedPaneUI getUI()
      返回实现此组件外观和感觉的UI对象。
      覆盖:
      getUI 在类 JComponent
      返回:
      一个TabbedPaneUI对象
      参见:
    • setUI

      @BeanProperty(hidden=true, visualUpdate=true, description="The UI object that implements the tabbedpane\'s LookAndFeel") public void setUI(TabbedPaneUI ui)
      设置实现此组件外观和感觉的UI对象。
      参数:
      ui - 新的UI对象
      参见:
    • updateUI

      public void updateUI()
      将UI属性重置为当前外观的值。
      覆盖:
      updateUI 在类 JComponent
      参见:
    • getUIClassID

      @BeanProperty(bound=false) public String getUIClassID()
      返回实现此组件外观和感觉的UI类的名称。
      覆盖:
      getUIClassID 在类 JComponent
      返回:
      字符串"TabbedPaneUI"
      参见:
    • createChangeListener

      protected ChangeListener createChangeListener()
      希望以不同方式处理ChangeEvents的子类可以重写此方法以返回ModelListener的子类或另一个ChangeListener实现。
      返回:
      一个ChangeListener
      参见:
    • addChangeListener

      public void addChangeListener(ChangeListener l)
      向此选项卡窗格添加一个ChangeListener
      参数:
      l - 要添加的ChangeListener
      参见:
    • removeChangeListener

      public void removeChangeListener(ChangeListener l)
      从此选项卡窗格中移除一个ChangeListener
      参数:
      l - 要移除的ChangeListener
      参见:
    • getChangeListeners

      @BeanProperty(bound=false) public ChangeListener[] getChangeListeners()
      返回添加到此JTabbedPane的所有ChangeListener的数组,使用addChangeListener
      返回:
      所有已添加的ChangeListener或如果未添加任何监听器则返回空数组
      自:
      1.4
    • fireStateChanged

      protected void fireStateChanged()
      发送一个ChangeEvent,将此JTabbedPane作为源发送给每个已注册的监听器。每当JTabbedPane中的选定索引或选定选项卡发生更改时,都会调用此方法。通常,选定索引和选定选项卡同时更改。但是,有些情况下,例如添加选项卡,选定索引会更改,但相同的选项卡仍保持选定状态。还有其他情况,例如删除选定选项卡,索引保持不变,但新选项卡移动到该索引。对于所有这些情况都会触发事件。
      参见:
    • getModel

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

      @BeanProperty(description="The tabbedpane\'s SingleSelectionModel.") public void setModel(SingleSelectionModel model)
      设置要与此选项卡窗格一起使用的模型。
      参数:
      model - 要使用的模型
      参见:
    • getTabPlacement

      public int getTabPlacement()
      返回此选项卡窗格的选项卡放置位置。
      返回:
      一个指定选项卡放置位置的int
      参见:
    • setTabPlacement

      @BeanProperty(preferred=true, visualUpdate=true, enumerationValues={"JTabbedPane.TOP","JTabbedPane.LEFT","JTabbedPane.BOTTOM","JTabbedPane.RIGHT"}, description="The tabbedpane\'s tab placement.") public void setTabPlacement(int tabPlacement)
      设置此选项卡窗格的选项卡放置位置。可能的值有:
      • JTabbedPane.TOP
      • JTabbedPane.BOTTOM
      • JTabbedPane.LEFT
      • JTabbedPane.RIGHT
      如果未设置,默认值为SwingConstants.TOP
      参数:
      tabPlacement - 选项卡相对于内容的放置位置
      抛出:
      IllegalArgumentException - 如果选项卡放置位置值不是上述有效值之一
    • getTabLayoutPolicy

      public int getTabLayoutPolicy()
      返回选项卡窗格在所有选项卡无法在单个运行中容纳时用于布局选项卡的策略。
      返回:
      一个指定用于布局选项卡的策略的int
      自:
      1.4
      参见:
    • setTabLayoutPolicy

      @BeanProperty(preferred=true, visualUpdate=true, enumerationValues={"JTabbedPane.WRAP_TAB_LAYOUT","JTabbedPane.SCROLL_TAB_LAYOUT"}, description="The tabbedpane\'s policy for laying out the tabs") public void setTabLayoutPolicy(int tabLayoutPolicy)
      设置选项卡窗格在所有选项卡无法适应单个运行时将使用的布局策略。可能的值为:
      • JTabbedPane.WRAP_TAB_LAYOUT
      • JTabbedPane.SCROLL_TAB_LAYOUT
      如果未由UI设置,默认值为JTabbedPane.WRAP_TAB_LAYOUT

      某些外观可能仅支持可能布局策略的子集,在这种情况下,此属性的值可能会被忽略。

      参数:
      tabLayoutPolicy - 用于布局选项卡的策略
      抛出:
      IllegalArgumentException - 如果布局策略值不是上述有效值之一
      自:
      1.4
      另请参阅:
    • getSelectedIndex

      public int getSelectedIndex()
      返回此选项卡窗格的当前选定索引。如果当前没有选定的选项卡,则返回-1。
      返回:
      选定选项卡的索引
      另请参阅:
    • setSelectedIndex

      @BeanProperty(bound=false, preferred=true, description="The tabbedpane\'s selected tab index.") public void setSelectedIndex(int index)
      设置此选项卡窗格的选定索引。索引必须是有效的选项卡索引或-1,表示不应选择任何选项卡(当选项卡窗格中没有选项卡时也可以使用)。如果在选项卡窗格包含一个或多个选项卡时指定了-1值,则结果将由实现定义。
      参数:
      index - 要选择的索引
      抛出:
      IndexOutOfBoundsException - 如果索引超出范围(index < -1 || index >= tab count)
      另请参阅:
    • getSelectedComponent

      public Component getSelectedComponent()
      返回此选项卡窗格的当前选定组件。如果当前没有选定的选项卡,则返回null
      返回:
      与选定选项卡对应的组件
      另请参阅:
    • setSelectedComponent

      @BeanProperty(bound=false, preferred=true, description="The tabbedpane\'s selected component.") public void setSelectedComponent(Component c)
      设置此选项卡窗格的选定组件。这将自动将selectedIndex设置为指定组件对应的索引。
      参数:
      c - 此TabbedPane的选定Component
      抛出:
      IllegalArgumentException - 如果选项卡窗格中未找到组件
      另请参阅:
    • insertTab

      public void insertTab(String title, Icon icon, Component component, String tip, int index)
      在给定索引处为给定组件插入一个新选项卡,由给定标题和/或图标表示,其中任一者可以为null
      参数:
      title - 在选项卡上显示的标题
      icon - 在选项卡上显示的图标
      component - 单击此选项卡时要显示的组件
      tip - 为此选项卡显示的工具提示
      index - 插入此新选项卡的位置(index >= 0 && index <= getTabCount())
      抛出:
      IndexOutOfBoundsException - 如果索引超出范围(index < 0 || index > getTabCount())
      另请参阅:
    • addTab

      public void addTab(String title, Icon icon, Component component, String tip)
      添加一个由title和/或icon表示的componenttip。覆盖方法insertTab
      参数:
      title - 在此选项卡中显示的标题
      icon - 在此选项卡中显示的图标
      component - 单击此选项卡时要显示的组件
      tip - 为此选项卡显示的工具提示
      另请参阅:
    • addTab

      public void addTab(String title, Icon icon, Component component)
      添加一个由title和/或icon表示的component。覆盖方法insertTab
      参数:
      title - 在此选项卡中显示的标题
      icon - 在此选项卡中显示的图标
      component - 单击此选项卡时要显示的组件
      另请参阅:
    • addTab

      public void addTab(String title, Component component)
      添加一个由title和无图标表示的component。覆盖方法insertTab
      参数:
      title - 在此选项卡中显示的标题
      component - 单击此选项卡时要显示的组件
      另请参阅:
    • add

      public Component add(Component component)
      添加一个由选项卡标题默认为调用component.getName的组件的名称的component。覆盖方法insertTab
      覆盖:
      add 在类 Container
      参数:
      component - 单击此选项卡时要显示的组件
      返回:
      组件
      另请参阅:
    • add

      public Component add(String title, Component component)
      添加一个具有指定选项卡标题的component。覆盖方法insertTab
      覆盖:
      add 在类 Container
      参数:
      title - 在此选项卡中显示的标题
      component - 单击此选项卡时要显示的组件
      返回:
      组件
      另请参阅:
    • add

      public Component add(Component component, int index)
      在指定的选项卡索引处添加一个具有默认为组件名称的选项卡标题的component。覆盖方法insertTab
      覆盖:
      add 在类 Container
      参数:
      component - 单击此选项卡时要显示的组件
      index - 插入此新选项卡的位置
      返回:
      组件
      另请参阅:
    • add

      public void add(Component component, Object constraints)
      向选项卡窗格添加一个component。如果constraintsStringIcon,它将用于选项卡标题,否则组件的名称将用作选项卡标题。覆盖方法insertTab
      覆盖:
      add 在类 Container
      参数:
      component - 单击此选项卡时要显示的组件
      constraints - 在选项卡中显示的对象
      另请参阅:
    • add

      public void add(Component component, Object constraints, int index)
      在指定的标签索引处添加一个组件。如果constraints是一个String或一个Icon,它将用作标签标题,否则将使用组件的名称作为标签标题。是insertTab的覆盖方法。
      覆盖:
      add 在类中 Container
      参数:
      component - 单击此选项卡时要显示的组件
      constraints - 要显示在选项卡中的对象
      index - 要插入此新选项卡的位置
      参见:
    • removeTabAt

      public void removeTabAt(int index)
      移除index处的选项卡。在移除与index关联的组件后,将其可见性重置为true,以确保如果添加到其他容器中,则其将可见。
      参数:
      index - 要移除的选项卡的索引
      抛出:
      IndexOutOfBoundsException - 如果索引超出范围(index < 0 || index >= tab count)
      参见:
    • remove

      public void remove(Component component)
      JTabbedPane中移除指定的Component。如果component为null,则该方法不执行任何操作。
      覆盖:
      remove 在类中 Container
      参数:
      component - 要从选项卡窗格中移除的组件
      参见:
    • remove

      public void remove(int index)
      移除与指定索引对应的选项卡和组件。
      覆盖:
      remove 在类中 Container
      参数:
      index - 要从tabbedpane中移除的组件的索引
      抛出:
      IndexOutOfBoundsException - 如果索引超出范围(index < 0 || index >= tab count)
      参见:
    • removeAll

      public void removeAll()
      tabbedpane中移除所有选项卡及其对应的组件。
      覆盖:
      removeAll 在类中 Container
      参见:
    • getTabCount

      @BeanProperty(bound=false) public int getTabCount()
      返回此tabbedpane中选项卡的数量。
      返回:
      指定选项卡页数的整数
    • getTabRunCount

      @BeanProperty(bound=false) public int getTabRunCount()
      返回当前用于显示选项卡的选项卡运行数。
      返回:
      如果tabPlacementTOPBOTTOM,则返回行数的整数,如果tabPlacementLEFTRIGHT,则返回列数的整数,如果此tabbedpane上没有设置UI,则返回0
    • getTitleAt

      public String getTitleAt(int index)
      返回index处的选项卡标题。
      参数:
      index - 正在查询的项目的索引
      返回:
      index处的标题
      抛出:
      IndexOutOfBoundsException - 如果索引超出范围(index < 0 || index >= tab count)
      参见:
    • getIconAt

      public Icon getIconAt(int index)
      返回index处的选项卡图标。
      参数:
      index - 正在查询的项目的索引
      返回:
      index处的图标
      抛出:
      IndexOutOfBoundsException - 如果索引超出范围(index < 0 || index >= tab count)
      参见:
    • getDisabledIconAt

      public Icon getDisabledIconAt(int index)
      返回index处的禁用选项卡图标。如果在index处不存在禁用的选项卡图标,则将调用外观和感觉来构造相应启用图标的适当禁用图标。某些外观和感觉可能不会呈现禁用图标,在这种情况下,它将不会被创建。
      参数:
      index - 正在查询的项目的索引
      返回:
      index处的图标
      抛出:
      IndexOutOfBoundsException - 如果索引超出范围(index < 0 || index >= tab count)
      参见:
    • getToolTipTextAt

      public String getToolTipTextAt(int index)
      返回index处的选项卡工具提示文本。
      参数:
      index - 正在查询的项目的索引
      返回:
      包含index处工具提示文本的字符串
      抛出:
      IndexOutOfBoundsException - 如果索引超出范围(index < 0 || index >= tab count)
      自:
      1.3
      参见:
    • getBackgroundAt

      public Color getBackgroundAt(int index)
      返回index处的选项卡背景颜色。
      参数:
      index - 正在查询的项目的索引
      返回:
      index处选项卡背景的Color
      抛出:
      IndexOutOfBoundsException - 如果索引超出范围(index < 0 || index >= tab count)
      参见:
    • getForegroundAt

      public Color getForegroundAt(int index)
      返回index处的选项卡前景颜色。
      参数:
      index - 正在查询的项目的索引
      返回:
      index处选项卡前景的Color
      抛出:
      IndexOutOfBoundsException - 如果索引超出范围(index < 0 || index >= tab count)
      参见:
    • isEnabledAt

      public boolean isEnabledAt(int index)
      返回index处的选项卡当前是否启用。
      参数:
      index - 正在查询的项目的索引
      返回:
      如果index处的选项卡已启用,则为true;否则为false
      抛出:
      IndexOutOfBoundsException - 如果索引超出范围(index < 0 || index >= tab count)
      参见:
    • getComponentAt

      public Component getComponentAt(int index)
      返回index处的组件。
      参数:
      index - 正在查询的项目的索引
      返回:
      index处的Component
      抛出:
      IndexOutOfBoundsException - 如果索引超出范围(index < 0 || index >= tab count)
      参见:
    • getMnemonicAt

      public int getMnemonicAt(int tabIndex)
      返回指定选项卡访问键盘助记符。助记符是与外观的无鼠标修饰符(通常为Alt键)组合时将激活指定选项卡的键。
      参数:
      tabIndex - 助记符所指的选项卡的索引
      返回:
      表示助记符的键码;如果未为选项卡指定助记符,则返回-1
      抛出:
      IndexOutOfBoundsException - 如果索引超出范围(tabIndex < 0 || tabIndex >= 选项卡计数)
      自版本:
      1.4
      参见:
    • getDisplayedMnemonicIndexAt

      public int getDisplayedMnemonicIndexAt(int tabIndex)
      返回作为索引的字符,表示外观应提供装饰以表示助记字符。
      参数:
      tabIndex - 助记符所指的选项卡的索引
      返回:
      如果存在助记字符,则返回表示助记字符的索引;否则返回-1
      抛出:
      IndexOutOfBoundsException - 如果索引超出范围(tabIndex < 0 || tabIndex >= 选项卡计数)
      自版本:
      1.4
      参见:
    • getBoundsAt

      public Rectangle getBoundsAt(int index)
      返回index处的选项卡边界。如果此索引处的选项卡当前在UI中不可见,则返回null。如果在此tabbedpane上未设置UI,则返回null
      参数:
      index - 要查询的索引
      返回:
      包含index处的选项卡边界的Rectangle,如果index处的选项卡当前在UI中不可见,或者在此tabbedpane上未设置UI,则返回null
      抛出:
      IndexOutOfBoundsException - 如果索引超出范围(index < 0 || index >= 选项卡计数)
    • setTitleAt

      @BeanProperty(preferred=true, visualUpdate=true, description="The title at the specified tab index.") public void setTitleAt(int index, String title)
      index处的标题设置为title,可以为null。如果为此选项卡指定了此选项卡的选项卡组件,则不显示标题。如果该索引处没有选项卡,则会引发内部异常。
      参数:
      index - 应设置标题的选项卡索引
      title - 要在选项卡中显示的标题
      抛出:
      IndexOutOfBoundsException - 如果索引超出范围(index < 0 || index >= 选项卡计数)
      参见:
    • setIconAt

      @BeanProperty(preferred=true, visualUpdate=true, description="The icon at the specified tab index.") public void setIconAt(int index, Icon icon)
      index处的图标设置为icon,可以为null。这不会设置icon处的禁用图标。如果新图标与当前图标不同且未明确设置禁用图标,则会要求LookAndFeel生成禁用图标。要明确设置禁用图标,请使用setDisableIconAt()。如果为该索引处的选项卡指定了此选项卡的选项卡组件,则不显示图标。如果该索引处没有选项卡,则会引发内部异常。
      参数:
      index - 应设置图标的选项卡索引
      icon - 要在选项卡中显示的图标
      抛出:
      IndexOutOfBoundsException - 如果索引超出范围(index < 0 || index >= 选项卡计数)
      参见:
    • setDisabledIconAt

      @BeanProperty(preferred=true, visualUpdate=true, description="The disabled icon at the specified tab index.") public void setDisabledIconAt(int index, Icon disabledIcon)
      index处的禁用图标设置为icon,可以为null。如果该索引处没有选项卡,则会引发内部异常。
      参数:
      index - 应设置禁用图标的选项卡索引
      disabledIcon - 当禁用时在选项卡中显示的图标
      抛出:
      IndexOutOfBoundsException - 如果索引超出范围(index < 0 || index >= 选项卡计数)
      参见:
    • setToolTipTextAt

      @BeanProperty(preferred=true, description="The tooltip text at the specified tab index.") public void setToolTipTextAt(int index, String toolTipText)
      index处的工具提示文本设置为toolTipText,可以为null。如果该索引处没有选项卡,则会引发内部异常。
      参数:
      index - 应设置工具提示文本的选项卡索引
      toolTipText - 要为选项卡显示的工具提示文本
      抛出:
      IndexOutOfBoundsException - 如果索引超出范围(index < 0 || index >= 选项卡计数)
      自版本:
      1.3
      参见:
    • setBackgroundAt

      @BeanProperty(preferred=true, visualUpdate=true, description="The background color at the specified tab index.") public void setBackgroundAt(int index, Color background)
      index处的背景颜色设置为background,可以为null,在这种情况下,选项卡的背景颜色将默认为tabbedpane的背景颜色。如果该索引处没有选项卡,则会引发内部异常。

      这取决于外观是否遵守此属性,有些可能选择忽略它。

      参数:
      index - 应设置背景的选项卡索引
      background - 要在选项卡的背景中显示的颜色
      抛出:
      IndexOutOfBoundsException - 如果索引超出范围(index < 0 || index >= 选项卡计数)
      参见:
    • setForegroundAt

      @BeanProperty(preferred=true, visualUpdate=true, description="The foreground color at the specified tab index.") public void setForegroundAt(int index, Color foreground)
      index处的前景颜色设置为foreground,可以为null,在这种情况下,选项卡的前景颜色将默认为此tabbedpane的前景颜色。如果该索引处没有选项卡,则会引发内部异常。

      这取决于外观是否遵守此属性,有些可能选择忽略它。

      参数:
      index - 应设置前景的选项卡索引
      foreground - 要作为选项卡前景显示的颜色
      抛出:
      IndexOutOfBoundsException - 如果索引超出范围(index < 0 || index >= 选项卡计数)
      参见:
    • setEnabledAt

      public void setEnabledAt(int index, boolean enabled)
      设置index处的选项卡是否启用。如果该索引处没有选项卡,则会引发内部异常。
      参数:
      index - 应启用/禁用的选项卡索引
      enabled - 选项卡是否应启用
      抛出:
      IndexOutOfBoundsException - 如果索引超出范围(index < 0 || index >= 选项卡计数)
      参见:
    • setComponentAt

      @BeanProperty(visualUpdate=true, description="The component at the specified tab index.") public void setComponentAt(int index, Component component)
      index处的组件设置为component。如果该索引处没有选项卡,则会引发内部异常。
      参数:
      index - 正在放置此组件的选项卡索引
      component - 选项卡的组件
      抛出:
      IndexOutOfBoundsException - 如果索引超出范围(index < 0 || index >= 选项卡计数)
      参见:
    • setDisplayedMnemonicIndexAt

      @BeanProperty(visualUpdate=true, description="the index into the String to draw the keyboard character mnemonic at") public void setDisplayedMnemonicIndexAt(int tabIndex, int mnemonicIndex)
      向外观提供关于文本中哪个字符应该被装饰以表示助记的提示。并非所有外观都支持此功能。值为-1表示此选项卡没有助记,或者您不希望为此选项卡显示助记。

      此值随着与助记相关的属性更改(如助记本身、文本等)而更新。只有在不希望默认字符被下划线标记时才需要调用此方法。例如,如果索引为3的选项卡文本为'Apple Price',助记为'p',您希望将'P'装饰为'Apple Price',则需要在调用setMnemonicAt(3, KeyEvent.VK_P)后调用setDisplayedMnemonicIndex(3, 6)

      请注意,程序员有责任确保每个选项卡具有唯一的助记,否则可能会导致不可预测的结果。

      参数:
      tabIndex - 指定助记键所指向的选项卡的索引
      mnemonicIndex - 下划线所在字符串中的索引
      抛出:
      IndexOutOfBoundsException - 如果tabIndex超出范围(tabIndex < 0 || tabIndex >= 选项卡数量
      IllegalArgumentException - 如果mnemonicIndex >= 选项卡标题长度,或者 < -1 时抛出
      自从:
      1.4
      参见:
    • setMnemonicAt

      @BeanProperty(visualUpdate=true, description="The keyboard mnenmonic, as a KeyEvent VK constant, for the specified tab") public void setMnemonicAt(int tabIndex, int mnemonic)
      设置访问指定选项卡的键盘助记键。助记键是与外观的无鼠标操作修饰符(通常为Alt键)组合时将激活指定选项卡的键。

      助记键必须对应于键盘上的单个键,并应使用java.awt.event.KeyEvent中定义的VK_XXX键码之一或通过java.awt.event.KeyEvent.getExtendedKeyCodeForChar获得的扩展键码之一来指定。助记键不区分大小写,因此具有相应键码的键事件将导致按钮被激活,无论是否按下Shift修饰键。

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

      参数:
      tabIndex - 指定助记键所指向的选项卡的索引
      mnemonic - 表示助记键的键码
      抛出:
      IndexOutOfBoundsException - 如果tabIndex超出范围(tabIndex < 0 || tabIndex >= 选项卡数量
      自从:
      1.4
      参见:
    • 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)
      返回由鼠标事件位置确定的组件的工具提示文本。
      覆盖:
      getToolTipText 在类 JComponent
      参数:
      event - 告诉光标所在位置的MouseEvent
      返回:
      包含工具提示文本的String
    • paramString

      protected String paramString()
      返回此JTabbedPane的字符串表示形式。此方法仅用于调试目的,返回的字符串的内容和格式可能因实现而异。返回的字符串可能为空,但不会是null
      覆盖:
      paramString 在类 JComponent
      返回:
      此JTabbedPane的字符串表示形式。
    • getAccessibleContext

      @BeanProperty(bound=false) public AccessibleContext getAccessibleContext()
      获取与此JTabbedPane关联的AccessibleContext。对于选项卡窗格,AccessibleContext采用AccessibleJTabbedPane的形式。如果需要,将创建一个新的AccessibleJTabbedPane实例。
      指定者:
      getAccessibleContext 在接口 Accessible
      覆盖:
      getAccessibleContext 在类 Component
      返回:
      作为此JTabbedPane的AccessibleContext的AccessibleJTabbedPane
    • setTabComponentAt

      @BeanProperty(preferred=true, visualUpdate=true, description="The tab component at the specified tab index.") public void setTabComponentAt(int index, Component component)
      设置负责为指定选项卡渲染标题的组件。空值表示JTabbedPane将为指定选项卡渲染标题和/或图标。非空值表示组件将渲染标题,JTabbedPane将不会渲染标题和/或图标。

      注意:组件不能是开发人员已经添加到选项卡窗格中的组件。

      参数:
      index - 应设置组件的选项卡索引
      component - 为指定选项卡渲染标题的组件
      抛出:
      IndexOutOfBoundsException - 如果索引超出范围(index < 0 || index >= 选项卡数量)
      IllegalArgumentException - 如果组件已经添加到此JTabbedPane中,则抛出
      自从:
      1.6
      参见:
    • getTabComponentAt

      public Component getTabComponentAt(int index)
      返回index处的选项卡组件。
      参数:
      index - 正在查询的项目的索引
      返回:
      index处的选项卡组件
      抛出:
      IndexOutOfBoundsException - 如果索引超出范围(index < 0 || index >= 选项卡数量)
      自从:
      1.6
      参见:
    • indexOfTabComponent

      public int indexOfTabComponent(Component tabComponent)
      返回指定选项卡组件的选项卡索引。如果没有此选项卡组件的选项卡,则返回-1。
      参数:
      tabComponent - 选项卡组件
      返回:
      匹配此选项卡组件的第一个选项卡,如果没有此选项卡组件的选项卡,则返回-1
      自从:
      1.6
      参见: