Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metodichka_Po_Tp.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.44 Mб
Скачать

2.2 Флажки (или переключатели)

Язык Java поддерживает два типа флажков-переключателей (класс Checkbox): исключающие и неисключающие.

Неисключающие флажки (переключатели с независимой фиксацией) могут быть выбраны независимо от состояния других флажков. Такие флажки являются самостоятельными объектами класса Checkbox, для их создания используются конструкторы Checkbox() и Checkbox(String label).

Исключающие флажки (переключатели с зависимой фиксацией) позволяют одновременно выбрать только один элемент в группе флажков. Если выбирается другой элемент в группе, то выбор предыдущего флажка отменяется, а новый выбор выделяется. Для создания такой группы флажков сначала создается объект класса CheckboxGroup, а затем создаются объекты класса Checkboх, входящие в эту группу, для чего используется конструктор Checkbox(String label, CheckboxGroup group, boolean state).

Приведем фрагмент программного кода, в котором создаются один независимый флажок и группа из трех исключающих флажков:

// создание одного независимого флажка и добавление его в контейнер

add(new Checkbox("It is checkbox"));

// создание группы флажков

CheckboxGroup gr=new CheckboxGroup();

// создание флажков группы gr и добавление их в контейнер

Checkboх first, second, third;

// флажок сброшен

first=new Checkbox("1st checkbox from group",gr,false);

add(first);

// флажок установлен

second=new Checkbox("2nd checkbox from group",gr,true);

add(second);

// флажок сброшен

third=new Checkbox("3rd checkbox from group",gr,false);

add(third);

Класс CheckboxGroup содержит методы для определения текущего выбора и установки нового выбора для флажков группы. Метод getCurrent() возвращает ссылку на выбранный флажок группы, а метод setCurrent() переносит выбор на задаваемый флажок группы.

При помощи методов класса getLabel() и getState() класса Checkbox можно получить метку флажка и текущее состояние переключателя, а при помощи методов setLabel() и setState() изменить метку флажка установить состояние флажка.

Для проверки того, какой группе флажков принадлежит флажок, класса Checkbox содержит метод getCheckboxGroup(), а для того, чтобы поместить ранее созданный независимый флажок в группу, или для изменения группы, в которую теперь будет входить флажок, используется метод setCheckboxGroup().

Обработка событий от флажка

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

// процесс обработки событий от флажка

if(evt.target instanceof Checkbox)

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

Checkbox check=(Checkbox)evt.target;

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

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

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

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

2.3 Меню выбора (или выпадающие списки)

Меню выбора (выпадающие списки) фактически являются всплывающими меню, они дают возможность создавать список элементов выбора, который всплывает на экране в виде меню.

Применяя меню выбора (класс Choice), можно выбирать только один элемент - множественный выбор не разрешается. При необходимости множественного выбора придется воспользоваться раскрывающимся списком (см. следующий пункт).

Приведем пример создания выпадающего списка:

// создать меню выбора

Choice choice=new Choice();

// добавить в него элементы

choice.addItem("1st item");

choice.addItem("2nd item");

// добавить меню choice в контейнер

add(choice);

// добавить в меню элемент

choice.addItem("3rd item");

Здесь сначала создается объект Choice, а затем в него задаются различные элементы выбора. Далее меню вводится в контейнер. Нужно отметить, что совсем не обязательно задавать все элементы выбора в меню до его ввода в контейнер. В контейнер можно вводить и пустое меню, добавляя элементы выбора по мере необходимости.

Рассмотрим некоторые методы класса Choice. Количество элементов выбора в меню можно определить при помощи метода countItem(), добавляются элементы в меню методом addItem(), а получить название какого-либо элемента (его строковое представление) по его порядковому номеру можно с помощью функции getItem().

Для того, чтобы определить индекс и строковое представление выбранного в меню элемента, предназначены методы getSelectIndex() и getSelectItem(). Изменить выбор в меню можно при помощи метода select().

Обработка событий от меню выбора

Для обработки событий от меню выбора (одинарный щелчок мышью на элементе меню свидетельствует о выборе элемента) следует внести в метод action() контейнера, содержащего эти меню выбора, следующий фрагмент:

// процесс обработки событий от меню выбора

if(evt.target instanceof Choice)

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

Choice choice=(Choice)evt.target;

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

// и обработка этого события от конкретного меню выбора

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]