Campos de texto

Um campo de texto é uma área retangular, de tamanho correspondente a uma linha, que pode ser utilizada para apresentar ou adquirir strings do usuário.

A classe TextField é uma extensão da classe TextComponent que implementa um campo de texto no toolkit AWT. Os construtores dessa classe permitem a criação de um campo de texto que pode estar vazio ou conter algum texto inicial. O número de colunas no campo também pode ser especificado através dos construtores. Esse exemplo ilustra a utilização de um TextField para obter uma string do usuário que, no tratamento do evento do tipo ação, é ecoada para uma área de texto na mesma janela:

Janela com componentes de texto

O componente correspondente a esse em Swing é JTextField. Além de funcionalidades associadas a TextField, esse componente oferece outras que permitem definir campos de texto customizados. Esse exemplo mostra como a mesma janela exibida para AWT pode ser construída com Swing:

Janela com componentes de texto Swing

Quando o usuário entra um texto em um campo de texto e tecla enter, é gerado um evento do tipo ação. Para indicar o objeto manipulador para esse evento, os métodos addActionListener() e removeActionListener() são utilizados. Ambos têm como argumento um objeto ActionListener. Eventos relativos à modificação de um valor em um campo de texto (sem pressionar a tecla enter) estão associados a eventos do tipo texto. Desse modo, é possível monitorar se alguma modificação ocorreu no campo de texto.

É possível não ecoar a apresentação dos caracteres de entrada para a tela definindo um caráter alternativo que deve ser apresentado. Em AWT, utiliza-se o método setEchoChar() da classe TextField. Em Swing, para tal fim deve ser utilizado o componente JPasswordField.


© Ivan Luiz Marques Ricarte
DCA/FEEC/UNICAMP

Last modified: Sat Aug 12 11:27:15 Hora padrão leste Am. Sul 2000