Иногда однострочный текстовый ввод не достаточен для данной задачи. Чтобы обрабатывать эти ситуации, AWT включает простой многострочный редактор, по имени TextArea. Конструкторы TextArea:
TextArea ()
TextArea (int numLlnes, int numChars)
TextArea(String str)
TextArea (String str, int nvmLines, int numChars)
TextArea (String str, int numLines, int numChars, int sBars)
Здесь numLxnes определяет высоту текстовой области (в строках); nvmChars — ее ширину (в символах); str — начальный текст. В пятой форме можно определить полосы прокрутки, если вы хотите, чтобы элемент управления их имел. sBars должен принимать одно из следующих значений:
SCROLLBARS_BOTH
SCROLLBARS_HORIZONTAL_ONLY
SCROLLBARS__NONE
SCROLLBARS_VERTICAL_ONLY
TextArea — подкласс TextComponent. Поэтому он поддерживает методы
getTextO, setText(), getSelectedText(}, select О, isEditablef) И setEditable(),
описанные в предыдущем разделе. TextArea добавляет следующие методы:
void append (String str)
void insert (String str, int index)
void replaceRange (String str, int startlndex, int endlndex)
Метод append() добавляет строку, указанную в str, к концу текущего текста, insert() вставляет строку, передаваемую в str, в позицию, указанную в параметре index. Чтобы заменить текст, вызовите метод replaceRange(). Он заменяет символы от startIndex до endIndex - 1 текстом, передаваемым в str.
Текстовые области — почти автономный элемент управления. Ваша программа фактически не берет на себя никакого дополнительного администрирования. Текстовые области генерируют события получения и потери фокуса (got-focus и lost-focus events). Обычно такая программа просто выводит на экран текст, когда это необходимо.
Следующая программа создает элемент управления TextArea: