Dynamisches JTabbedPane

Norbertus

Mitglied
Hallo,

da ich einfach keine Idee mehr habe, fühle ich mich gezwungen nun hier einmal nachzufragen ob jemand von euch eine Idee hat.

Es geht darum Tabs in einem JTabbedPane dynamisch anzulegen und dann auszulesen. Das anlegen der Tabs klappt auch wunderbar, nur weiß ich nicht wie ich danach darauf zugreifen kann.

Ich prüfe also ob ein gewünschter Tab schon vorhanden ist, wenn nicht füge ich hier einen neuen Tab hinzu:

PHP:
// Muss angelegt werden
JTextPane	textfield;
textfield = new JTextPane();
textfield.setEditable(false);
textfield.setBackground(new Color(250,250,250));
JScrollPane textscroll = new JScrollPane(textfield);
						
documents.add(pack.Nick,textscroll);
documents.setBackgroundAt(tabsize, Color.red);
						
// Text reinschreiben
Document privdoc = textfield.getDocument();
						
.....

documents ist das JTabbedIndex

Nun habe ich diesen Tab also angelegt, fein fein - Klappt auch. Wenn ich bei der Abfrage feststelle das es den gewünschten Tab schon gibt - Wie greife ich dann im nachhinein auf die TextPane textfield zu? Es können ja beliebig viele Tabs angelegt werden...daher kann ich nicht einfach eine globale Textpane anlegen.

Ich habe es mit :

Scroller = (JScrollPane) documents.getTabComponentAt(tabindex);

Probiert, aber hier komm ich auch nicht an die ScrollPane in der wiederrum die Textpane sitzt an die ich will.

Ich hoffe es war halbwegs verständlich was ich gemeint habe.

Über Ideen wäre ich dankbar.

Grüße

Norbertus
 
Hi
Wie entscheidest du denn in welchen Tab etwas geschrieben werden soll? Anhand des Titels?
Eine Möglichkeit wäre, alle erstellen JScrollPane's in einer Liste zu verwalten (ArrayList, HashList, Vector, etc). Wenn du wie oben gefragt über einen Titel das richtige Objekt auswählst würde ich vielleicht eine HashMap nehmen und dann dann als Key den Titel und als Value den JScrollPane hinterlegen. Nun kannst du einfach mit hashmap.get("titel"); auf dein Objekt zugreifen.



Gruss
 
auch mal eine Frage von mir,
möchtest Du auf eine Komponente des "Containesr" des aktiven Tab zugreifen, oder möchtest Du auf eine Komponente eines nicht sichtbaren Containers, also eines nicht aktiven tabs zugreifen?
 
Zurück