Текстовое поле класса TextField
Для редактирования одной строки текста вы можете создать текстовое поле на базе класса TextField, которое несложно в использовании. Класс TextField создан на базе другого класса с именем TextComponent, поэтому при работе с текстовым полем класса TextField вы можете использовать и методы класса TextComponent.
Приведем краткое описание класса TextField:
public class java.awt.TextField
extends java.awt.TextComponent
{
// -----------------------------------------------------
// Конструкторы
// -----------------------------------------------------
// Создание поля без текста
public TextField();
// Создание поля без текста с заданной шириной
public TextField(int cols);
// Создание поля и инициализация его текстом
public TextField(String text);
// Создание поля заданной ширины
// и инициализация его текстом
public TextField(String text, int cols);
// -----------------------------------------------------
// Методы
// -----------------------------------------------------
// Вызов метода createTextField
public void addNotify();
// Проверка, установлен ли для поля эхо-символ
public boolean echoCharIsSet();
// Определение размера поля
public int getColumns();
// Получение текущего эхо-символа
public char getEchoChar();
// Определение минимальных размеров области
// для отображения поля
public Dimension minimumSize();
// Определение минимальных размеров области
// для отображения поля заданной ширины
public Dimension minimumSize(int cols);
// Получение строки параметров
protected String paramString();
// Определение оптимальных размеров области
// для отображения поля
public Dimension preferredSize();
// Определение оптимальных размеров области
// для отображения поля заданной ширины
public Dimension preferredSize(int cols);
// Установка эхо-символа для отображения в поле
public void setEchoCharacter(char c);
}
При создании текстового поля вы можете выбрать один из четырех конструкторов, соответственно, для создания поля без текста и без указания размера, без текста заданного размера, для создания поля с текстом и для создания поля с текстом указанного размера.
Вот фрагмент кода, в котором создается поле с текстом, имеющее ширину, достаточную для размещения 35 символов:
TextField txt;
txt = new TextField("Введите строку текста", 35);
Созданное поле добавляется в окно аплета методом add.
Большинство самых полезнных методов, необходимых для работы с полем класса TextField, определено в классе TextComponent, краткое описание которого мы привели ниже:
public class java.awt.TextComponent
extends java.awt.Component
{
// -----------------------------------------------------
// Методы
// -----------------------------------------------------
// Получение текста, выделенного пользователем
// в окне поля
public String getSelectedText();
// Получение позиции конца выделенной области
public int getSelectionEnd();
// Получение позиции начала выделенной области
public int getSelectionStart();
// Получение полного текста из поля
public String getText();
// Проверка, возможно ли редактирование
// текста в поле
public boolean isEditable();
// Получение строки параметров
protected String paramString();
// Удаление извещения
public void removeNotify();
// Выделение заданной области текста
public void select(int selStart, int selEnd);
// Выделение всего текста
public void selectAll();
// Включение или выключение возможности
// редактирования текста
public void setEditable(boolean t);
// Установка текста в поле
public void setText(String t);
}
С помощью метода getText вы можете получить весь текст, который имеется в поле. Метод getSelectedText позволяет получить только ту часть текста, которая предварительно была выделена пользователем.
Приложение может выделить любой фрагмент текста или весь текст при помощи методов select и selectAll, соответственно.
Для записи текста в поле приложение может воспользоваться методом setText.
Возможно, для вас будет интересен метод setEditable, позволяющий переключать текстовое поля из режима, при котором редактирование заблокировано, в режим с разрешенным редактированием и обратно.