Mudando Cor de uma parte do texto  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
m4des
JavaChild
[Avatar]

Membro desde: 05/11/2006 14:43:16
Mensagens: 131
Offline

Pessoal estou criando um JTextArea que vai ter algumas ações de formatação, mas estou com o seguinte problema:

Como posso fazer para quando o usuario digitar uma certa palavra, apos digita-la ela trocar de cor, é tipo a mesma coisa que acontece no eclipse quando digitamos a palavra public.

Quem puder me ajudar, fico grato.
[MSN]
ksi
JavaBaby
[Avatar]

Membro desde: 03/10/2006 16:12:58
Mensagens: 96
Localização: São Paulo
Offline

Olha, dei uma pesquisada e não achei nada que trate diretamente do texto contido no JTextArea. Sinto não poder ajudar, mas convem dar uma olhada na API do Java - JTextArea
http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/JTextArea.html
E caçar a palavra "color" talvez ajude.
abraço


Rafael de Carvalho

..............................
[MSN]
m4des
JavaChild
[Avatar]

Membro desde: 05/11/2006 14:43:16
Mensagens: 131
Offline

ksi, não consegui achar nada referente na documentação da API, mas valeu pela dica!
[MSN]
fel_augusto
Debugger
[Avatar]

Membro desde: 28/04/2004 15:12:14
Mensagens: 53
Localização: Brasil/Sp
Offline

Para mudar a cor do texto, usa esse código (cor = a cor que você kr dar. e texto é a String texto (ou parte da string)):



E para mudar a cor de uma palavra depois de digitada, eu faria tipo assim: adicionava um KeyEvent no campo de texto, e criava uma outra string com o conteúdo que ficasse entre 1 ponto, virgula, ponto e virgula, espaço... pontuação em geral, usando split. Ai, eu verificava se aquela palavra fosse a que eu quisesse mudar de cor, e se fosse, usava aquele código acima.

Mas acho que deve ter algo + prático.

grato,
Felipe Augusto
[WWW] [Yahoo!] [MSN]
marques_eder
Thread.start()
[Avatar]

Membro desde: 21/05/2005 11:29:27
Mensagens: 29
Localização: Rio Preto/SP
Offline

Olha m4des,

O que vc acha de vc criar um list com as palavras especiais que deseja colorir: List verdeList, List azulList etc. Só que dai a cada keyEvent vc tomar a palavra escrita a partir do ultimo espaço e faz um match correndo o list. Talvez seja bom usar regex. E vai incrementando o obj do StringBuilder e atualizando o JTextArea.

Pra mudar a cor vc pode usar codigos html no meio da string - eu acho q dá certo para JTextArea tambem.

Ficaria algo assim:

Na verdade eu não acho minha soluçao boa não, mas foi o q me veio na cabeça, desconfio que o desempenho disso seja muito ruim ; quem contribui em projetos de IDEs, que poderia te dar melhor dica, ainda que essas tenha toda uma gama de APIs proprias.



------------------------------------------------------
Nunca percas a humildade de eterno aprendiz.

Sun Certified Java Programmer SCJP 1.5
Bacharel em Física - USP, São Paulo
Curioso & Apaixonado por Java

m4des
JavaChild
[Avatar]

Membro desde: 05/11/2006 14:43:16
Mensagens: 131
Offline

Pessoal ta meio foda de fazer, mas valeu pela ajuda!
[MSN]
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team