CaretPosition - Textlänge

ney

Grünschnabel
Hallo,

ich bin an folgendem Problem hängen geblieben:
Ich habe ein JEditorPane, aus dem ich während der Eingabe immer das letze Wort, bzw. die letzten Zeichen bis zu einer Leerstelle, auslesen will.
Ich habs versucht, indem ich von der CaretPosition aus alle Zeichen bis zu einer Leerstelle einsammle.
Mein Problem ist, dass alle "Enter"-Eingaben 2 Zeichen zählen, das CaretPosition das "Enter" aber nur als ein "Zeichen" rechnet.
Eine Funktion, mit der ich eine Zeile betrachten kann, hab ich leider noch nicht gefunden...

Hoffe mir kann da einer weiterhelfen ;).

lg
 
Je nach dem wo die CaretPosition ist, ist das allerdings nicht immer das letzte Wort.
Lies doch einfach den Text aus, laufe ihn zeichenweise von hintendurch bis du auf ein whitespace triffst.
 
Ich will ja nicht das letzte Wort vom Dokument, sondern das Wort an dem sich mein Caret befindet, also kann das auch mitten im Dokument sein! (Tut mir leid, wenn es etwas zu undeutlich formuliert war :) )
 
Eine mögliche Lösung wäre:
Lese den Text aus der EditorPane aus, ersetze alle "\r" durch "". Dabei reicht es sogar schon diese nur bis zur CaretPosition zu ersetzen. Danach kannst du dann mit der Caret-Position an gewünschte Wortstelle springen.
 
Zurück