Stringinhalt formatieren

trash

Mitglied
Hey,

ich lade in einen String einen Text aus einer .txt und möchten diesen aber gesondert interpretieren und ausgeben. Meine Frage ist: Was lohnt sich da besser? Ich habe von einem sog. JEditorPane, JTextPane und von JTable gehört: Gibt es da konkrete Vor, Nachteile?

Besonders interessiert mich, dass ich den "String" zeilenweise färben kann (hintergrund farbe) und womöglich mit kleinen Icons davor versehen kann (nur wenn möglich), Zeilenbrüche sollten gehen und Border oder so etwas. Außerdem sollte eine Verlinkung zu einer Prozedur möglich sein (ActionListener?) Womit geht was? Im Netz finde ich nur sporadische Infos, hat da wer ne Ahnung von?
 
Am besten ist es du schaust dir einfach mal paar Beispiele zu jeder von dir genannten Componente. Im Netz wird es mehr als genug gehen. Es hört sich aber eher dannach an, als ob die JTable weiterhilft.
 
Da habe ich mir konkretere Infos erhofft 🙂

also mir ist auch noch nicht so ganz klar was du im Prinzip bezwecken möchtest - einfach nur diverse Darstellungsattribute nutzen können!? JTable wäre eine Ansicht in Form einer Tabelle, da du wie mir scheint aber relativ unterschiedliche Style-Attribute auf den Text legen möchtest, wäre eine Tabelle wohl schwieriger zu handlen, da du hier jede Zeile/Spalte/Zelle extra behandeln müsstest, je nachdem wieviele Gemeinsamkeiten es gibt. Mit einem JEditorPane hat du die meiste Funktionalität und das wird daher wohl eher in Frage kommen. Du kannst dabei auch mit HTML-Tags den Text formatieren, Bilder und Links realisieren, wenn ich mich jetzt nicht täusche 🙂

Es gibt dazu einige Tutorials, ich denke da wirst schnell fündig. Schlagwörter wären dabei wohl:
JEditorPane, Style, StyleContants, StyledDocument, StyledEditorKit

spezielle HTML-Klassen werden von den obigen abgeleitet, da kannst dich auch ein wenig durch die API hangeln. Ich habe mir mit diesen Klassen nen eigenes kleines Syntaxhighlighting gebastelt. Für meine Begriffe recht problemlos und gut kapselbar was den Code angeht.
 

Zurück
Oben