在JTabbedPane中迭代遍历选项卡组件

9

我需要确定哪些JTabbedPane选项卡需要更新,通过确定每个选项卡组件的内容。据我所知,使用默认的JTabbedPane模型无法迭代每个选项卡。

有没有人有任何想法,可以在这种情况下做些什么?

3个回答

16

如果您使用以下类似的内容:

int totalTabs = tabbedPane.getTabCount();
for(int i = 0; i < totalTabs; i++)
{
   Component c = tabbedPane.getTabComponentAt(i);
   //other stuff
}

这可能为你提供了一个开始实现你想要做的事情的起点。


问题中的选项卡也可以被移除。JTabbedPane是否保持顺序索引(例如,如果原始标签索引为:0、1、2、3、4,并且移除了3,则新的标签索引是0、1、2、3还是0、1、2、4)。 - Cole
这是一个索引,而不是标识符。随着选项卡被移除,索引会发生变化。 - Andy Thomas
1
我认为你想使用 getComponentAt 而不是 getTabbedComponentAt,前者返回选项卡面板中的组件,后者返回选项卡中的组件。 - AncientSwordRage

1

getTabComponentAt 用于渲染而非遍历选项卡。 - GerritCap
@GerritCap 这个问题太模糊了,我们无法确定 OP 真正想要什么。 - kleopatra
1
@GerritCap - OP 明确要求一种“遍历每个选项卡”的方法。其中一种方法是使用上述方法。getTabComponent() 方法提供了一个组件。该组件不仅可以用于渲染,还可以进行检查或修改。 - Andy Thomas

0

从容器中使用getComponentAt(int index)方法


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接