Программирование мобильных телефонов на Java

Класс TextField



6.2.3. Класс TextField



С помощью этого класса можно создать заданный по размеру контейнер, в который помещается редактируемый текст. Этот класс обычно используется в создании адресных книг или полей для ввода текста. Кроме текста также можно размещать любую числовую информацию. В классе TextField существует всего один конструктор с четырьмя параметрами, рассмотрим этот конструктор.

public TextField(String  label, String text, int maxSize, int  constraints)

Параметры конструктора класса Text Field:

  •  label - метка, название для редактируемого поля;
  •  text - строка текста. Поле может и не содержать текст;
  •  maxSize - максимальное количество символов в поле;
  •  constraints - входное ограничение, с помощью которого можно задавать, что именно должно принимать данное поле, например цифры, буквы или символы, задается ограничение с помощью следующих констант:
  •  static int ANY - можно вводить любой текст;
  •  static int DECIMAL - можно вводить дробные числа;
  •  static int EMAILADDR - используется для адреса электронной почты;
  •  static int NUMERIC-для ввода только целого числа;
  •  static int PASSWORD - используется при вводе пароля;
  •  static int PHONENUMBER - для ввода телефонного номера;
  •  static int URL - адрес сайта в Интернет.


Как видите, предусмотрены практически все варианты, остается только подставлять требуемые значения и наслаждаться простотой программирования под Java 2 ME. Использование вышеперечисленных директив в Java 2 ME традиционно и, например, для ввода адреса сайта может быть следующая запись:

TextField tf  =  new TextField("Адрес","",20,TextField.URL);

Методы класса TextField

Класс TextField содержит четырнадцать методов, некоторые из них мы сейчас рассмотрим.

  •  void delete (int offset, int length) - удаляет текст или заданный символ;
  •  int ,getCaretPosition() - получает позицию каретки для печати символов;
  •  int getChars (char [ ] data) - копирует текст в символьный массив данных;
  •  int getMaxSize() - определяет максимально доступное количество символов для размещения в классе TextField;
  •  String getString() - получает строку текста;
  •  void insert (char [] data, int offset, int length, int position) - вставляет в заданную позицию массив символьных данных;
  •  void insert (String src, int position) - вставляет в заданную позицию строку текста;
  •  void setChars(char[] data, int offset, int length) —устанавливает из символьного массива данные в заданную позицию, при этом заменяя предыдущие данные;
  •  int size ()-определяет размер содержимого в TextField на данный момент.


Теперь перейдем непосредственно к примеру, реализующему возможности класса TextField. Создадим пустую форму, и вставим в нее поля в виде адресной книги. В листинге 6.3 дается код всего примера.

/**



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