TextArea

The java.awt.TextArea class is a subclass of java.awt.TextComponent that provides a widget for editing multiple lines of text. It's useful for input and output.

There are five constructors:

  public TextArea()
  public TextArea(String text)
  public TextArea(int rows, int columns)
  public TextArea(String text, int rows, int columns)
  public TextArea(String text, int rows, int columns, int scrollbars)
Because of the way Java lays out components, you should not use the noargs constructor. Either start off with a String or specify the number of rows and columns this area is expected to hold. For example,

TextArea address = new TextArea("Type your address here", 5, 80);
By default, TextAreas don't have scrollbars. However you can add them by passing one of these constants to the constructor:

TextArea.SCROLLBARS_BOTH 
TextArea.SCROLLBARS_HORIZONTAL_ONLY 
TextArea.SCROLLBARS_NONE 
TextArea.SCROLLBARS_VERTICAL_ONLY 
For example,

TextArea instructions = 
 new TextArea("", 15, 70, TextArea.SCROLLBARS_VERTICAL_ONLY);
Unlike text fields, text areas do not generate action events when the user hits return inside the area. Instead, the line is broken and the caret moves on to the next row.

However, the getText() method does return the contents of the TextArea, and the setText() method does change it. The setEditable() method lets you determine whether or not, the user can modify the contents of a TextField. If these methods sound familiar it's because they're both inherited from the common superclass of TextField and TextArea, TextComponent.

Furthermore, you can append text to a TextArea with the append() method, insert text into the middle of a TextArea with the insert() method, and replace a block of text with the replaceRange() method:

public synchronized void insert(String text, int position)
public synchronized void append(String text)  
public synchronized void replaceRange(String text, int start, int end)

Previous | Next | Top
Last Modified November 15, 1999
Copyright 1997, 1999 Elliotte Rusty Harold
elharo@metalab.unc.edu