Duvida com JTextArea - Pegar linha por linha

Tem como eu retirar linha por linha de uma jtextArea ??

e qual eh o caracter de quebra de pagina usado no jtextArea ?? tipo \n ?/

Vlw
Hilton - Novato mas adorando o forum :slight_smile:

Bem-vindo ao fórum!
Esse código apaga a linha do texto na posição do cursor:

Element root = seuPane.getDocument().getDefaultRootElement();

int line = root.getElementIndex(getCaretPosition());
int lineStart = root.getElement(line).getStartOffset();
int lineEnd = root.getElement(line).getEndOffset();

try
{
   seuPane.getDocument().remove(lineStart, lineEnd - lineStart);
}
catch (BadLocationException e)
{      
}

Cortesia do colega Anlugifa, criador desse editor de textos:
http://www.guj.com.br/posts/list/48736.java

Para apagar uma linha qualquer, simplesmente subtitua
int line = root.getElementIndex(getCaretPosition());

Por
int line = numeroDaLinhaDesejada;

humm, eu acho q n eh bem isso que eu queria :slight_smile:

Tipo, eu vi aqui no forum que posso quebrar o conteudo da jtextarea usando o metodo
String[] linhas = textarea.getText().split("\n");

ai eh so fazer um laço e usar elas :slight_smile:

Mas surgiu outro problema pra mim.

Durante a digitacao “na interface” do conteudo do jtextarea eu tenho q apertar “enter” para ele quebrar a linha!
Deste modo tu fica as mil maravilhas…

Porem! Se eu n der nenhum enter e escrever um texto grande. o split("\n"); deixa de funcionar :frowning: Mesmo qdo a textarea quebra as linhas automaticamente!

Alguma ideia de resolver essa quebra automatica?? ou de como limitar a qte de caracteres na horizontal do textarea ???

Vlw
Hilton

O ideal então é você estudar a interface Document.

O método getElement() pode te retornar o texto linha a linha, independente da estrutura do documento.