Оглавление
Компоненты |
Для редактирования одной строки текста вы можете создать текстовое поле на базе класса TextField, которое несложно в использовании. Класс TextField создан на базе другого класса с именем TextComponent, поэтому при работе с текстовым полем класса TextField вы можете использовать и методы класса TextComponent.
Класс TextFieldПриведем краткое описание класса TextField:
Создание поля без текста
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);Создание текстового поля класса TextField
При создании текстового поля вы можете выбрать один из четырех конструкторов, соответственно, для создания поля без текста и без указания размера, без текста заданного размера, для создания поля с текстом и для создания поля с текстом указанного размера.
Вот фрагмент кода, в котором создается поле с текстом, имеющее ширину, достаточную для размещения 35 символов:
TextField txt; txt = new TextField( "Введите строку текста", 35);
Созданное поле добавляется в окно аплета методом add.
Большинство самых полезнных методов, необходимых для работы с полем класса TextField, определено в классе TextComponent, краткое описание которого мы привели ниже.
Класс TextComponentПолучение текста, выделенного пользователем в окне поля
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, позволяющий переключать текстовое поля из режима, при котором редактирование заблокировано, в режим с разрешенным редактированием и обратно.