Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Объекты интерфейса.doc
Скачиваний:
10
Добавлен:
02.02.2015
Размер:
371.71 Кб
Скачать

Компонент Choice

Компонент choice – это раскрывающийся список, один, выбранный, пункт (item) которого виден в поле, а другие появляются при щелчке кнопкой мыши на небольшой кнопке справа от поля компонента.

Вначале конструктором Choice() создается пустой список.

Затем, методом add (string text), в список добавляются новые пункты с текстом text. Они располагаются в порядке написания методов add() и нумеруются от нуля.

Вставить новый пункт в нужное место можно методом

insert (string text, int position).

Выбор пункта можно произвести из программы методом

select (String text)

или

select(int position).

Удалить один пункт из списка можно методом

remove(String text)

или

remove (int position),

а все пункты сразу – методом removeAll().

Число пунктов в списке можно узнать методом getItemCount().

Выяснить, какой пункт находится в позиции pos можно методом

getItem(int pos),

возвращающим строку.

Наконец, определение выбранного пункта производится методом getselectedindex(), возвращающим позицию этого пункта, или методом getseiecteditem(), возвращающим выделенную строку.

В классе Choice происходят события класса Component: ComponentEvent, FocusEvent, KeyEvent, MouseEvent, а при выборе пункта возникает событие ItemEvent.

Компонент List

Компонент List – это список с полосой прокрутки, в котором можно выделить один или несколько пунктов. Количество видимых на экране пунктов определяется конструктором списка и размером компонента.

В классе три конструктора:

List() – создает пустой список с четырьмя видимыми пунктами;

List (int rows) – создает пустой список с rows видимыми пунктами;

List (int rows, boolean multiple) – создает пустой список в котором можно отметить несколько пунктов, если multiple == true.

После создания объекта в список добавляются пункты с текстом item:

метод add (String item) – добавляет новый пункт в конец списка;

метод add (String item, int position) – добавляет новый пункт в позицию position.

Позиции нумеруются по порядку, начиная с нуля.

Удалить пункт можно методами

remove (String item),

remove (int position),

removeAll ().

Метод

repiaceItem(string newitem, int pos)

позволяет заменить текст пункта в позиции pos.

Количество пунктов в списке возвращает метод

getItemCount ().

Выделенный пункт можно получить методом

getSelectedItemo,

а его позицию – методом

getSelectedlndex ().

Если список позволяет осуществить множественный выбор, то выделенные пункты в виде массива типа string[] можно получить методом

getSelectedItems(),

позиции выделенных пунктов в виде массива типа int[] – методом

getSelectedlndexes ().

Компоненты для ввода текста

В библиотеке AWT есть два компонента для ввода текста с клавиатуры: TextField, позволяющий ввести только одну строку, и TextArea, в который можно ввести множество строк.

Оба класса расширяют класс TextComponent, в котором собраны их общие методы, такие как выделение текста, позиционирование курсора, получение текста.

Класс TextComponent

В классе TextComponent нет конструктора, этот класс не используется самостоятельно.

Основной метод класса – метод getText () – возвращает текст, находящийся в поле ввода, в виде строки string.

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

isEditable(),

изменить значения в нем – методом

setEditable(boolean editable).

Текст, находящийся в поле, хранится как объект класса string, поэтому у каждого символа есть индекс (у первого – индекс 0). Индекс используется для определения позиции курсора (caret) методом

getCaretPosition(),

для установки позиции курсора методом setcaretposition(int ind) и для выделения текста.

Текст выделяется, как обычно, мышью или клавишами со стрелками при нажатой клавише <Shift>, но можно выделить его из программы метбдом

select (int begin, int end).

При этом помечается текст от символа с индексом begin включительно, до символа с индексом end исключительно.

Весь текст выделяет метод selectAll(). Можно отметить начало выделения методом

setSelectionStart (int ind)

и конец выделения методом

setSelectionEnd(int ind).

Для получения выделенного текста используют методы

getSelectedText (),

а начальный и конечный индекс выделения возвращают методы

getSelectionStart()

и

getSelectionEnd().

Кроме событий класса Component: ComponentEvent, FocusEvent, KeyEvent, MouseEvent , при изменении текста пользователем происходит событие TextEvent