2011-07-06 10 views
5

Potrzebuję określić, które karty w JTabbedPane wymagają aktualizacji, określając zawartość składnika każdej karty. Z tego, co mogę określić, nie ma możliwości iteracji za pomocą każdej karty przy użyciu domyślnego modelu JTabbedPane.Powtórne przechodzenie między elementami Tab w JTabbedPane

Czy ktoś ma jakieś pomysły co do tego, co mogę zrobić w tej sytuacji?

Odpowiedz

1
+0

getTabComponentAt służy do renderowania, nie dla zapętlenie nad kartami – GerritCap

+0

@GerritCap pytanie jest zbyt ogólnikowe, aby mieć pewność co OP jest _really_ po – kleopatra

+0

@GerritCap - PO wyraźnie prosi o drodze "iterować przez każdą kartę". Jednym ze sposobów na to jest z powyższymi metodami. Metoda 'getTabComponent()' udostępnia komponent. Ten komponent może być używany do czegoś więcej niż tylko renderowania - np. Może być badany lub modyfikowany. –

14

jeśli używasz coś takiego:

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

może dać punkt początkowy robić, co chcesz.

+0

Te zakładki można również usunąć. Czy JTabbedPane utrzymuje indeksy w porządku sekwencyjnym (np. Jeśli oryginalne indeksy kart są: 0,1,2,3,4 i 3 jest usunięte, to nowy indeks tabulatorów 0,1,2,3 versus 0,1,2, 4). – Cole

+0

To jest indeks, a nie identyfikator. Indeksy zmieniają się w miarę usuwania zakładek. –

+0

Chcę, abyś użył 'getComponentAt', a nie' getTabbedComponentAt', jeden zwróci komponent tabbedPane, jeden zwróci komponent * w * karcie. – Pureferret