Для редактирования одной строки текста вы можете создать текстовое поле на базе класса TextField, которое несложно в использовании. Класс TextField создан на базе другого класса с именем TextComponent, поэтому при работе с текстовым полем класса TextField вы можете использовать и методы класса TextComponent.

Класс TextField

Приведем краткое описание класса TextField:

Конструкторы

Создание поля без текста

public TextField();

Создание поля без текста с заданной шириной

public TextField(int cols);

Создание поля и инициализация его текстом

public TextField(String text);

Создание поля заданной ширины и инициализация его текстом

public TextField(String text,
  int cols);

Методы

  • addNotify

Вызов метода createTextField

public void addNotify();
  • echoCharIsSet

Проверка, установлен ли для поля эхо-символ

public boolean echoCharIsSet();
  • getColumns

Определение размера поля

public int getColumns();
  • getEchoChar

Получение текущего эхо-символа

public char getEchoChar();
  • minimumSize

Определение минимальных размеров области для отображения поля

public Dimension minimumSize();

Определение минимальных размеров области для отображения поля заданной ширины

public Dimension minimumSize(int cols);
  • paramString

Получение строки параметров

protected String paramString();
  • preferredSize

Определение оптимальных размеров области для отображения поля

public Dimension preferredSize();

Определение оптимальных размеров области для отображения поля заданной ширины

public Dimension preferredSize(int cols);
  • setEchoCharacter

Установка эхо-символа для отображения в поле

public void setEchoCharacter(char c);

Создание текстового поля класса TextField

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

Вот фрагмент кода, в котором создается поле с текстом, имеющее ширину, достаточную для размещения 35 символов:

TextField txt;
txt = new TextField(
  "Введите строку текста", 35);

Созданное поле добавляется в окно аплета методом add.

Большинство самых полезнных методов, необходимых для работы с полем класса TextField, определено в классе TextComponent, краткое описание которого мы привели ниже.

Класс TextComponent

Методы

  • getSelectedText

Получение текста, выделенного пользователем в окне поля

public String getSelectedText();
  • getSelectionEnd

Получение позиции конца выделенной области

public int getSelectionEnd();
  • getSelectionStart

Получение позиции начала выделенной области

public int getSelectionStart();
  • getText

Получение полного текста из поля

public String getText();
  • isEditable

Проверка, возможно ли редактирование текста в поле

public boolean isEditable();
  • paramString

Получение строки параметров

protected String paramString();
  • removeNotify

Удаление извещения

public void removeNotify();
  • select

Выделение заданной области текста

public void select(int selStart, 
  int selEnd);
  • selectAll

Выделение всего текста

public void selectAll();
  • setEditable

Включение или выключение возможности редактирования текста

public void setEditable(boolean t);
  • setText

Установка текста в поле

public void setText(String t);

С помощью метода getText вы можете получить весь текст, который имеется в поле. Метод getSelectedText позволяет получить только ту часть текста, которая предварительно была выделена пользователем.

Приложение может выделить любой фрагмент текста или весь текст при помощи методов select и selectAll, соответственно.

Для записи текста в поле приложение может воспользоваться методом setText.

Возможно, для вас будет интересен метод setEditable, позволяющий переключать текстовое поля из режима, при котором редактирование заблокировано, в режим с разрешенным редактированием и обратно.