Ajuda com JtextArea

8 respostas
renan_fagc

Boa tarde!!!

Existe alguma função que permita eu inserir um texto no JTextArea no local onde se encontra o cursor, aquele bastãozinho que fica piscando, sem apagar o conteudo que ja esta nele???

Obrigado pela atenção!!!

8 Respostas

S

Você que digitar uma palavra no meio de uma frase ?

A

se vc conseguir pegar o indice de onde está o cursor axo que da pra fazer algo tipo assim:

textArea.setText(textArea.getText(0, indiceDoCursor) + textoInserido +textArea.getText(indiceDoCursor + textoInserido.lenght, textArea.getText().lenght + textoInserido.lenght));

não sei se falei besteira hehe

renan_fagc

Santos.fernando é mais ou menos isso!!!

preciso inserir um texto onde estiver o caret, eu sei que ha uma função para pegar a posição do caret é o getcaret, pois eu preciso inserir um texto nessa posição do JtextArea sem apagar o conteudo atual!1

OBS: se alguem quizer sugerir outro componente que não seja o jTextArea também ajuda!!!

Obrigado pela atenção!!!

ViniGodoy

Depois de pegar a posição do caret, use o método insert:

seuTextArea.insert(texto, seuTextArea.getCaretPosition());
renan_fagc

Cara tentei fazer isso mas a função insert não é valida!!!

ViniGodoy

Como? Você está usando Java 2 SE? Ou é mobile?

renan_fagc

Me desculpe mesmo eu estava usando um JTextPane ao inves de JtextArea, muito obrigado!!

ViniGodoy

O JTextPane suporta formatação, o JTextArea não suporta. Se precisar inserir texto na posição do cursor, tem que ser através do Document.

Não é muito simples fazer isso. Mas o tutorial abaixo pode te ajudar:
http://javatechniques.com/blog/faster-jtextpane-text-insertion-part-i/

Criado 28 de março de 2010
Ultima resposta 29 de mar. de 2010
Respostas 8
Participantes 4