How can I determine how many lines are in a TextArea or JTextArea?
Created May 4, 2012
Jan Borchers If you have a JTextArea with a PlainDocument (every child element represents a single ine) then you could do this:
Document doc = mytextarea.getDocument(); Element root = doc.getDefaultRootElement(); int lines = root.getElementCount();
Sandip Chitale adds
In both cases you could create a java.io.StringReader out of the getText() returned text. Wrap it in a
java.io.BufferedReader and then read lines using the
readLine() API.
You could walk through the String object returned
by getText() and look for '
' char to count the lines.
For JTextArea there is a direct API -
John Zukowski adds
To manually count them:
public int getLineCount();
String text = area.getText();
StringReader reader = new StringReader(text);
LineNumberReader lnr = new LineNumberReader(reader);
while (lnr.readLine() != null);
System.out.println(reader.getLineNumber());