JTextArea: Como ler Caractere individualmente

10 respostas
H

Olá Pessoal,

Algum pode me ajudar;

Estou com dificuldades em trabalhar com o JTextArea. Tenho um JTextArea, com um texto.

Desejo ler caractere por caractere deste texto, mas sem “jogar” o texto para outro lugar, ler no próprio JTextArea, e ir concatenando os caracteres em uma variável auxiliar.

Grato, quem puder me ajudar…

10 Respostas

L

mas qual o problema que voc~e está tendo?
Não achou o campo que está o texto ? Não conseguiu renderizar?

thiago.correa

1º Pegue o texto do text area e use o método String.toCharArray()
2º Faça um laço que leia esse array!

Faça uns testes e qualquer coisa posta os códigos e as suas dúvidas!

H

Deixa eu explicar melhor.

Tenho um JTextArea, com um texto. Desejo percorrer este texto, na própria JTextArea, como se fosse um Array, onde eu possa ler caractere a caractere, mas sem precisar mover o texto da JTextArea, para outra estrutura.

Seria algo como o método JTextArea.getText(); mas que devolvesse caractere por caractere, em vez do texto todo.

L

Especifique melhor o que vai ser exibido para o usuário final.
Esse requisito parece ser desnecessariamente complicado, se você usar uma estrutura intermediária é muito fácil.

Mas você pode ler caracter à caracter, basta usar as técnicas de manipulação de strings e extrair o que você quer.

Marky.Vasconcelos

Mas qual o problema em fazer algo assim?

String text = textArea.getText();
char[] chars = text.toCharArray();
for(int i=0;i<chars.lenght;i++)
System.out.println("Char at '"+i+"' is '"+chars[i]"'");

Como assim direto do TextArea? Não quer nem pegar a String?

H

Isso mesmo, sem pegar String.
Ir “pegando” char por char individualmente do TextArea.

L

Então sua dúvida era simplesmente como conseguir extrair um array de uma string… porque estamos usando uma estrutura intermédiaria (o array de chars) para percorrer a sua string…

H

Obrigado a todos que me ajudaram.

Solucionei o problema da seguinte forma:

JTextArea.getText().trim().charAt(k);

Obrigado.

Marky.Vasconcelos

Mas de qualquer forma voce continua pegando do objeto String. A unica diferença é que voce nao esta atribuindo valor a nada mas chama seus métodos (.trim().charAt(k))

L

È isso ai !
vc só está deixando o código mais enxuto , porém por de trás dos panos, o compilador está criando referências e atribuições…

Criado 19 de junho de 2009
Ultima resposta 22 de jun. de 2009
Respostas 10
Participantes 4