Электронная библиотека книг Александра Фролова и Григория Фролова.
Shop2You.ru Создайте свой интернет-магазин
Библиотека
Братьев
Фроловых

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

© Александр Фролов, Григорий Фролов
Том 30, М.: Диалог-МИФИ, 1997, 288 стр.

[Назад] [Содеожание] [Дальше]

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

[Назад] [Содеожание] [Дальше]