Cursorposition in JTextPane bestimmen

Darklord

Grünschnabel
Hallo zusammen :)

Ich versuche derzeit einen kleinen Texteditor in Java umzusetzen, jedoch stehe ich nun vor einem Problem.

Mein Programm verwendet für die Textdarstellung derzeit eine JTextPane.

Gibt es eine Möglichkeit, die aktuelle Reihe, in der sich mein Cursor innerhalb der JTextPane meines Programms befindet, zu ermitteln?

Das einzige, was ich bisher gefunden habe ist text_box.getCaretPosition(), was mir jedoch nicht wirklich weiterhilft, da ich ja wie gesagt die Reihe und optional sogar die Position innerhalb der Reihe ermitteln möchte.

Vielen Dank schonmal im Voraus :)
 
Hallo!

Mit getCaret() könnte man da was anstellen. Stimmt schon.
Was willst du eigentlich machen? Wenn du sowas versuchst wie einen Text zu ersetzen geht es z. B. mit der Methode replaceSelection(String content).

Gruß
 
Hola...

gerad durch Zufall drauf gestoßen:
www.informit.com
Der Artikel handelt von SWT, sehr zu empfehlen für Einsteiger ...

Java:
// kleiner Ausschnitt aus dem Artikel
// text ist ein Objekt der Klasse org.eclipse.swt.widgets.Text
public void modifyText(ModifyEvent e) {
   System.out.println( "Caret Line Number: " + text.getCaretLineNumber() );
   System.out.println( "Caret Position: " + text.getCaretPosition() ); // das ist wohl die für dich interessante Zeile :]
   System.out.println( "Line Count: " + text.getLineCount() );
   System.out.println( "Character Count: " + text.getCharCount() );
   System.out.println( "Entire Text: " + text.getText() );
  }

Vielleicht hilft das ja weiter...
Viel Spaß!
Felix
 
Zurück