Componentes de texto permitem a interação com o usuário através da apresentação e entrada direta de strings.
Em AWT, a classe TextComponent é a superclasse para os componentes visuais de apresentação e entrada de texto, TextField e TextArea, definindo funcionalidades comuns a ambas as classes. Como não tem construtor público, não é possível instanciar diretamente objetos dessa classe. Algumas das funcionalidades básicas definidas nessa classe, portanto acessíveis tanto de TextField como de TextArea, incluem os métodos
String getText(), para obter o texto corrente no componente,
void setText(String t), para definir o texto a ser apresentado no componente,
void setEditable(boolean b), para permitir (b=true) ou impedir (b=false) que o conteúdo do componente seja modificável, e
boolean isEditable(), para saber se o componente tem conteúdo modificável ou não.
Caso o conteúdo apresentado em um TextComponent seja editável e alguma modificação ocorra, um evento do tipo texto é gerado e, em havendo um objeto TextListener registrado para esse evento, este é notificado. Para registrar e remover manipuladores para eventos do tipo texto, a classe TextComponent provê os métodos addTextListener() e removeTextListener(), respectivamente.
Similarmente, Swing oferece uma raiz comum a campos e área de texto, que é a classe JTextComponent. Na verdade, Swing oferece -- além das funcionalidades básicas de campos e áreas de texto -- todo um sub-pacote dedicado à manipulação de textos, javax.swing.text.
© Ivan Luiz Marques Ricarte
DCA/FEEC/UNICAMP