Класс 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 дается код всего примера.
/**