2011-07-06 23 views
5

Necesito determinar qué pestañas en un JTabbedPane necesitan actualizarse mediante la determinación del contenido del componente de cada pestaña. Según lo que puedo determinar, no hay forma de recorrer cada pestaña utilizando el modelo JTabbedPane predeterminado.Iterar a través de los componentes de pestaña en JTabbedPane

¿Alguien tiene alguna idea de lo que podría hacer en esta situación?

Respuesta

1
+0

getTabComponentAt se utiliza para la representación, no por un bucle sobre las lengüetas – GerritCap

+0

@GerritCap la pregunta es demasiado vaga para estar seguro de lo que el PO es _really_ después – kleopatra

+0

@GerritCap - El PO pide explícitamente un camino para "iterar a través de cada pestaña". Una forma de hacerlo es con los métodos anteriores. El método 'getTabComponent()' proporciona un Componente. Ese componente podría utilizarse para algo más que la representación; por ejemplo, podría examinarse o modificarse. –

14

si utiliza algo como:

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

Podría darle un punto de partida para hacer lo que quiera.

+0

Las pestañas en cuestión también pueden eliminarse. ¿JTabbedPane mantiene los índices en un orden secuencial (por ejemplo, si los índices de las fichas originales son: se eliminan 0,1,2,3,4 y 3, el índice de la nueva pestaña es 0,1,2,3 frente a 0,1,2, 4). – Cole

+0

Es un índice, no un identificador. Los índices cambian a medida que se eliminan las pestañas. –

+0

Supongo que quiere usar 'getComponentAt' not' getTabbedComponentAt', uno devuelve el componente de la pestaña tab, uno devuelve el componente * en * la pestaña. – Pureferret

0

uso getComponentAt(int index) del envase