pessoal, eu tenho aqui algumas JTextArea, aonde precisava que quando chegar no final dotextArea, ele fosse pra ultima linha, então estava usando o metodo setLineWrap(true);
ok…mais eu preciso detecta essa quebrada de linha (e como vou imprimir isso, vou ter que inserir um \n ali)
tem como detectar quando que o textarea quebro a linha???
ps que eu andei observando que não adianta eu limitar a 50 caracteres, pq usando letras maiusculas ou minusculas o numero muda, usando numeros muda tb…e por ai vai…
Bom, eu não conheço nenhum método pronto para isso. Acho que a solução seria tratar a String que você receber e quebra-la na mão mesmo.
Acho que algo como:
//Recebe todo o conteudo e retorna o texto quebrado
public String quebraLinha(String conteudo, int nrCaracteresLinha) {
StringBuffer retorno = new StringBuffer();
while(conteudo.length() > nrCaracteresLinha) {
//Determina o conteudo da linha atual
String conteudoLinha = conteudo.substring(0, nrCaracteresLinha);
int posicaoEspaco = conteudoLinha.lastIndexOf(" ");
if(posicaoEspaco == -1) {
posicaoEspaco = nrCaracteresLinha;
}
conteudoLinha = conteudoLinha.substring(0, posicaoEspaco);
//Adicina a linha atual e uma quebra ao conteudo de retorno
retorno.append(conteudoLinha);
retorno.append("\n");
//Remove a linha do conteudo original
conteudo = conteudo.substring(posicaoEspaco+1, conteudo.length());
}
//Adiciona a ultima linha
retorno.append(conteudo);
return retorno.toString();
}
então cara… eu tinah feito isso pra teste… a principio funciona mais o problema é que a quantidade de caracteres que existem em uma linha varia, eu fiz testes colocando 0123456789 ou abcd…xyz e no segundo segundo caso coube uns 15 caracteres a mais …
por isso que eu não apliquei isso ainda…
se for pra mim aplicar isso eu teria que aplicar pegando o keypressed, e alterando no layout la mesmo enqunto o user digita, para que ele saiba que pulou pra proxima linha… (ele precisa saber que foi quebrada a linha…)
detalhe que são 20 JTextArea nessa tela…eu teria que cria um metodo chamado pelo evento de todos e coloca esse processamento nesse metodo… por isso que eu tava vendo se teria alguma outra solução do que estipula um numero maximo de colunas independente de caber mais ou não…
obrigado ai pela dica (e por responder), mais se alguém tiver outra sugestão eu ainda to ouvindo…
editando… o evento que eufalei teria que ser keypressed, ou keydown, algo do tipo…eu teria que verifica a cada caractere digitado se chego no ultimo caractere disponivel na linha…ouseja…seria chamado toda hora…