If you need to get the position of the caret (cursor) in a JTextComponent (++JTextField, JTextArea JEditorPane or JTextPane), this turns out the be easy. Just use the getCaretPosition
method of these classes, as shown here:
int currentCaretPosition = textPane.getCaretPosition();
This caret position method call will return the caret position as an integer offset from the beginning of the contents of your text file (document).
For instance, if I have a JTextArea that contains the following string of characters:
abcde
and the cursor/caret is at the position immediately following the letter 'e', the call to the getCaretPosition
method will return a value of 5.
Java textarea cursor/caret position - summary
You may need to know the caret position/location for a variety of reasons in your Java text components, but in my case I'm using this information to help me create an auto-complete feature in a new Java text editor I'm developing (similar to the auto-complete feature found in TextMate).