Áreas de texto

Uma área de texto permite apresentar e opcionalmente editar textos de múltiplas linhas.

Em AWT, a classe TextArea oferece essa funcionalidade, sendo uma extensão da classe TextComponent. Assim como para um campo de texto de uma linha, o texto apresentado inicialmente e o número de colunas visíveis pode ser definido em construtores. Adicionalmente, o número de linhas visíveis pode ser definido no momento da construção do objeto. Para a apresentação de textos que ocupam uma área maior que a visível, um construtor tem um argumento que indica se e quantas barras de rolagem estarão presentes na área de texto. Os valores possíveis, definidos como constantes estáticas dessa classe, são SCROLLBARS_BOTH (barras de rolagem nas direções vertical e horizontal), SCROLLBARS_HORIZONTAL_ONLY (apenas na horizontal), SCROLLBARS_VERTICAL_ONLY (apenas na vertical) e SCROLLBARS_NONE (sem barras de rolagem).

O componente correspondente a esse em Swing é o JTextArea.

É possível adicionar texto a uma área através do método append(), que recebe uma string como argumento. Esse exemplo em AWT mostra como usar esse método para registrar strings digitadas em um componente TextField na mesma janela, enquanto esse outro mostra a funcionalidade equivalente em Swing:

AWT      Swing

Observe que há algumas diferenças nas áreas de texto nas duas aplicações. Em Swing, o comportamento default para a área de texto é não ter barras de rolagem -- se isso for necessário, a aplicação deve usar um componente JScrollPane. Outras diferenças dizem respeito à habilidade de mudar de linha (automático em AWT) e à geração de eventos do tipo texto (não presente em Swing).

O framework Swing oferece, no entanto, outros componentes mais elaborados que também manipulam áreas de texto. Componentes das classes JEditorPane e JTextPane conseguem manipular vários tipos de conteúdo, como por exemplo texto em HTML.


© Ivan Luiz Marques Ricarte
DCA/FEEC/UNICAMP

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