Martin Jung: SyntaxHighlighting in JTextPane

Beitrag lesen

Hi ueps,

Das JTextPane ist mainText[currIndex], ansich funktioniert diese Funktion auch. Nur ist sie viel zu langsam. Bei einem Text mit ca. 800 Zeilen wird die Wartezeit einfach zu hoch. Zumal die Funktion bis jetzt auch nur das Schlüsselwort "new" frablich hervorhebt. Bei mehreren Wörtern wirds noch viel langsamer.

Hat jemand einen Tipp wie ich das optimieren kann?

Ein genereller Ansatz besteht darin, dass Du _nur_ die Textanteile 'syntax-highlightest', die für den Benutzer im Editor sichtbar sind. Sinnvollerweise werden die Formatierinformationen auch nicht dem eigentlichen 'Dokument' hinzugefügt, sondern die JTextPane erhält immer nur den Teil des Textes samt Formatierinfo, der gerade sichtbar ist (sein müsste). Eine solche Implementierung ist aber nicht mehr trivial.
Eine Suche bei Sun erbrachte folgenden Link, der Dir vielleicht weiterhilft:  http://java.sun.com/products/jfc/tsc/articles/text/editor_kit/index.html.

Viele Grüße,
Martin Jung