Ich bin ein einfacher Textmarker über einen JTextPane
implementieren. Ich möchte es spezielle Schlüsselwörter wie if
markieren, case
, etc, wie ich ihnen geben. Wie IDEs tun.Avoiding mit Swing-Highlighters in neu hinzugefügte Text verschütten
Das Problem, das ich mit Blick auf bin, ist, dass, wenn ich ein spezielles Schlüsselwort erkennen war gerade geschrieben und ich markierte Sie es (das gut funktioniert), dann alles, was ich danach geben wird auch hervorgehoben. Mit Blick auf die API würde ich annehmen, dass dies nicht der Fall sein würde. Wie vermeide ich das?
Hier ist der problematischen Code:
if (word.equals("if")) {
textPane.getHighlighter().addHighlight(wordStartIdx, pos+1, highlightPainter);
textPane.getHighlighter().addHighlight(pos+2, pos+2, noHightlighter); // tried this to see if it would help, but it doesn't change anything.. anything typed after the word "if" will still be hightlighted!
}
Dank
Neue proper [MCVE], der das Problem demonstriert. – camickr