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.
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
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.
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.
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 :roll: ; quem contribui em projetos de IDEs, que poderia te dar melhor dica, ainda que essas tenha toda uma gama de APIs proprias.