Vielen Dank für deine Antwort! Du hast mir damit sehr geholfen!

Echt super!
Wobei ich dich aber noch fragen wollte, ob dein Code nicht eher den ganzen Text, der zum einem in der "Section"Root enthalten is und dann nochmal den der in der BIDIRoot steht?!
Mittlerweile bin ich aber in der Lösung meiner Aufagbenstellung noch nicht wirklich voran gekommen.
Es sollen nämlich an bestimmten Zeilen Numerierungen eingefügt werden(z.b. für best.Textpassagen ), das Problem ist aber, dass ich wenn ich den Text in einen String lade, die Attribute irgendwohin speichern muss, um sie später wieder einfügen zu können.
Im Klartext:
Text komm in einen String rein, dessen Zeichenattribute muss ich irgendwo mir merken und dann wird der String verändert.
Danach wird der alte Text durch den neuen in der TextPane, inklusive seiner Zeichenattribute, ersetzt.
Das muss deswegen in einem Schritt geschehen, dass es dem User möglich is mit einem Undo wieder alles rückgängig zumachen....
Ich hoffe ich konnte mich verständlich ausdrücken,...,bin nie gut darin.
Um das zu lösen hab ich mich schon an AttributedString und dergleichen versucht, dabei komm ich aber mit dem AttributedStringCharacterIterator und dessen Anwendung nicht klar, geschweige denn mit dieser Map, die ein Konstruktor davon braucht.
Hoffe jemand weiß rat,
jedem noch ein schönes WE,
CU
Crai