Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Обработка событий от списка




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

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

if(evt.target instanceof List)

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

List lst=(List)evt.target;

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

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

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

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

Однако список класса List создает события не только при двойном щелчке, но и при выделении или отмене выделения нескольких элементов, сделанных одинарным щелчком клавиши мыши. Такие события можно перехватить и обработать, переопределив метод handleEvent(). Процесс обработки событий в методе handleEvent() аналогичен процессу обработки в методе action(), например:

public boolean handleEvent(Event evt)

{ switch(evt.id)

{ default:// передача сообщения на обработку

// методу базового класса

return super.handleEvent(evt);

case Event.ACTION_EVENT:

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

if(evt.target instanceof List)

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

List lst=(List)evt.target;

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

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

// конкретного списка

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

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

return true; }

break;

case Event.LIST_SELECT:

// процесс обработки событий выделения элементов списка

if(evt.target instanceof List)

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

List lst=(List)evt.target;

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

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

// конкретного списка

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

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

return true; }

break;

case Event.LIST_DESELECT:

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

// элементов списка

if(evt.target instanceof List)

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

List lst=(List)evt.target;

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

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

// конкретного списка

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

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

return true; }

break; }

return true; }

2.5 Полосы прокрутки

Полосы прокрутки к спискам, меню выбора и полям редактирования при необходимости добавляются автоматически. Но можно использовать их и как независимые, отдельные компоненты для обеспечения прокрутки необходимой информации. Создание линейки прокрутки (класс Scrollbar ) и добавление ее в контейнер осуществляется, например, следующим образом:

Scrollbar

scrlbar=new Scrollbar.HORIZONTAL,25,15,1,100);

add(scrlbar);

Здесь создается горизонтальная линейка прокрутки, ширина которой на экране равна 15. Начальное значение (текущее положение бегунка линейки прокрутки) установлено равным 25, минимальное возможное значение равно 1, а максимальное - 100.

При помощи методов изменять установки линейки прокрутки. Метод setValue() изменяет текущее положение бегунка, а метод setValues() изменяет параметры полосы прокрутки, задаваемые при ее создании. Для установки строчного и страничного инкремента полосы прокрутки используются методы setLineIncrement() и setPageIncrement().

Для получении информации о линейке используются следующие методы. Метод getValue() возвращает текущее положение бегунка, методы getMaximum() и getMinimum() - возвращают максимальное и минимальное значение для полосы прокрутки. Для получения строчного и страничного инкремента полосы прокрутки используются методы getLineIncrement() и getPageIncrement().

Ширину полосы прокрутки на экране (величину ее видимой части) можно узнать методом getVisible(), а ориентация полосы прокрутки определяется методом getOrientation().




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


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


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



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




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