Microsoft Visual J++. Создание приложений и аплетов на языке Java

Текстовое поле класса 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, позволяющий переключать текстовое поля из режима, при котором редактирование заблокировано, в режим с разрешенным редактированием и обратно.


Содержание раздела