Текстовые области Java

Иногда при работе программы возникает необходимость ввести несколько строк. Для этого применяется компонент JTextArea. Поместив данный компонент в свою программу, разработчик предоставляет пользователю возможность вводить любое количество текста, разделяя строки нажатием клавиши <Enter>.

Каждая строка заканчивается символом ‘\n‘, как это предусмотрено в языке Java. Пример работы текстовой области показан на рис.1.

В конструкторе компонента JTextArea указывается количество строк и их длина. Например:

Параметр, задающий количество символов в строке, действует так же, как и для поля редактирования, его значение рекомендуется немного завысить. Пользователь не органичен количеством строк и их длинной. Если длина строки или чисто строк выйдет за пределы заданных параметров, текст будет прокручиваться в окне.

Для изменения длины строк можно применять метод setColumns(), а для изменения их количества — метод setRows(). Эти параметры задают лишь рекомендуемые размеры — диспетчер компоновки может самостоятельно увеличивать или уменьшать размеры поля редактирования.

Текстовые области Java

Рис.1. Текстовая область

Если пользователь ввел больше текста, чем умещается в текстовой области, про произойдет отсечение. Этого можно избежать, установив автоматический перенос строки(line-wrapping).

Автоматический перенос проявляется лишь визуально. Текст хранящийся в документе, изменен не будет — в него не вставляются символы ‘\n’.

В пакете Swing текстовая область не имеет полос прокрутки. Если они необходимы, текстовую область следует включить в панель прокрутки(scroll pane):

Теперь панель прокрутки управляет представлением текстовой области. Полоса прокрутки автоматически появляется, когда текст выходит из рамки отведенной для него области, и исчезает, когда «лишняя» часть текста удаляется. Прокрутка поддерживается панелью прокрутки — сама программа не обязана обрабатывать события, связанные с ней.

Это универсальный механизм, который работает с любым компонентом, а не только с текстовыми областями. Чтобы добавить линейки прокрутки к компоненту, поместите его в панель прокрутки.

Программа которая приведена ниже демонстрирует различные текстовые компоненты. Эта программа отображает текстовое поле, поле пароля и текстовую область с линейками прокрутки. Текстовое поле и поле пароля снабжены метками. Чтобы вставить предложение в конец текста, щелкните на кнопке Insert(Вставить).

Вот собственно код программы: