Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Поле редактирования TextArea




Обработка событий от текстовых полей

Поле редактирования TextField

Текстовые компоненты TextComponent

Так как классы TextArea и TextField являются подклассами TextComponent, то они могут пользоваться его методами. Рассмотрим некоторые методы класса TextComponent. Вывести текст в поле редактирования или получить текст из поля можно методами setText() и getText() соответственно. Для выделения фрагмента текста, расположенного между указанными начальным и конечными символами, применяется метод select() (для выделения всего текста используется метод selectAll()), а для получения номеров первого и последнего выделенных символов - методы getSelectionStart() и getSelectionEnd(). Для получения выделенного в содержимом поля фрагмента текста используется метод getSelectedText(). Запретить или разрешить редактирование в поле можно при помощи метода setEditable(), а проверить, разрешено ли редактирование - методом isEditable().

Для создания поля, в котором пользователь может ввести небольшой объем информации (одну строку текста), удобно пользоваться однострочным полем редактирования (текстовым полем) TextField. Например, создадим поле редактирования шириной 20 символов, инициализированной строкой "Enter text":

TextField tField=new TextField("Enter text",20);

add(tField);

Для получения информации о том, какова ширина текстового поля в символах, используется метод getColums().

Текстовые поля поддерживают ввод маскируемых символов, т.е. символов, ввод которых на экране отображается каким-либо одним символом (эхо-символом), а не фактически вводимыми символами. Для установки такого эхо-символа используется метод setEchoCharacter(), а для того, чтобы определить, какой символ используется в качестве эхо-символа, - метод getEchoChar(). Для проверки того, имеет ли поле эхо-символ, применяется метод echoCharIsSet().

Для обработки событий от текстовых полей (нажатие кнопки «Enter» свидетельствует о прекращении ввода информации) следует внести в метод action() контейнера, содержащего эти текстовые поля, следующий фрагмент:

// процесс обработки событий от текстовых полей

if(evt.target instanceof TextField)

{// получаем ссылку на текстовое поле, вызвавшее событие

TextField field=(TextField)evt.target;

// проверка, от какого именно поля пришло событие и

// обработка этого события от конкретного поля

.............................................

return true; // если событие обработано, иначе return false }

Для ввода большого объема информации применяются многострочные поля редактирования (текстовые области) TextArea. Действия пользователя с данными компонентами не генерируют сообщений ACTION_EVENT. Для создания этих полей существует большой набор конструкторов, при их помощи можно создавать объекты с указанным числом строк и числом символов в строке, просто поле с указанным текстом, а также поля, обладающие всеми этими параметрами, например:

// поле высотой 5 строк и шириной 20 символов

add(TextArea tArea1=new TextArea(5,20));

// поле, инициализированное строкой "Enter text"

add(TextArea tArea2=new TextArea("Enter text"));

// поле высотой 10 строк и шириной 15 символов,

// инициализированное строкой "Enter text"

add(TextArea tArea3=new TextArea("Enter text",10,15));

Получить количество строк и число символов в строке текстовой области можно методами getRows() и getColums().

Для добавления некоторого текста в конец содержимого текстовой области используется метод appendText(), для замены текста, расположенного между символами с указанными номерами, на другой текст - метод replaceText(), а для вставки некоторого текста после символа с казанным номером - метод insertText().

3. Приложение AllElements

Задание. Создать апплет двойного назначения AllElements, в окне которого размещены различные элементы управления. При действия пользователя с этими компонентами в панели состояния должны отображаться соответствующие надписи.




Поделиться с друзьями:


Дата добавления: 2014-11-20; Просмотров: 595; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.