Ich versuche seit mehr als zwei Tagen, eine spezielle Anforderung für ein Texteditorfenster zu implementieren ... leider bisher ohne Erfolg: (
Ziel ist es, ein Texteditor-Fenster zu bekommen, das wie andere Texteditoren die aktuelle Zeile hervorhebt. Mit der aktuellen Zeile meine ich die Zeile, in der sich der Cursor / Caret befindet.
Ich habe bereits zwei verschiedene Ansätze gefunden, aber leider kann ich sie nicht übernehmen, so dass sie wie erwartet funktionieren.
Der erste Ansatz besteht darin, DefaultHighlighter
( Ссылка ) zu überschreiben.
Im zweiten Ansatz wird stattdessen HighlighterPainter
überschrieben ( Ссылка ).
Im Moment versuche ich, den ersten Ansatz in meinem Projekt zu übernehmen, aber wie gesagt, es funktioniert nicht wie gewünscht.
Am Ende dieses Beitrags poste ich eine kleine Beispielanwendung, die das Problem demonstriert.
Ich hoffe, jeder kann mir sagen, was ich hier falsch mache ... oder erklären, warum es überhaupt nicht möglich ist, dieses Problem zu lösen. Irgendwelche alternativen Lösungen, wie ich die Linienhervorhebung verwirklichen könnte, werden auch sehr geschätzt!
Vielen Dank im Voraus Prost Predigt
%Vor%Unten ist der Code zum Extrahieren von Text aus der aktuellen Zeile. Sie können dieselbe Logik verwenden, um erforderliche Indizes zu erhalten und Text
hervorzuheben %Vor%Ich denke, dass dies mit Textmarkern schwer zu erreichen sein könnte - ich glaube nicht, dass es genau dafür gedacht ist. Möglicherweise müssen Sie es mit benutzerdefinierten Malcode tun:
%Vor%Tags und Links java highlighting swing jtextpane