Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...
Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...
Топ:
Когда производится ограждение поезда, остановившегося на перегоне: Во всех случаях немедленно должно быть ограждено место препятствия для движения поездов на смежном пути двухпутного...
Проблема типологии научных революций: Глобальные научные революции и типы научной рациональности...
Эволюция кровеносной системы позвоночных животных: Биологическая эволюция – необратимый процесс исторического развития живой природы...
Интересное:
Аура как энергетическое поле: многослойную ауру человека можно представить себе подобным...
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Наиболее распространенные виды рака: Раковая опухоль — это самостоятельное новообразование, которое может возникнуть и от повышенного давления...
Дисциплины:
|
из
5.00
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
|
|
Вопрос: Обработаем что-нибудь?
Ответ: Да.
Метод consumeя где-то пропустил. Давайте посмотрим. На 18 слайде.

Если мы вот этот consumeвызовем, то событие ниже не пойдет. Учтите, что на том же уровне она отработает. Т.е. она дошла до какого-то уровня и там произойдет. И если там в нескольких местах, то в нескольких местах. Но ниже не пойдет. И естественно если оно ниже не пойдет, то идти не будет. Т.е. если мы при фильтрации отсекаем, то соответственно в исходе этого события не будет. Значит нам нужно что сделать? Нам нужно чтобы у нас была какая-то вложенность хотя бы 1 – 1.5 элементов в дереве. Мы должны сделать обработчик на самом элементе (обработчик выше), причем это должен быть и фильтр. Ну три обработчика должны сделать.
Давайте возьмем первую программу, потому что кнопочки же есть.
Открываем проект JavaFX1. О!!! У нас 4 кнопки! Ну так это неплохо!

Правда только одна работает «Say 'HelloWorld'». А остальные пока пустые. Ну вот и отлично. Будем вешать на них обработчики.

Но у нас иерархия есть. У нас GridPaneи в нем кнопки.
Итак. Изобретать ничего не будем. У нас будет идти событие ActionEvent.

Итак. Наша задача сейчас подумать. Я хочу сделать в GridPane (а это root)обработчик-фильтр на событие «клик на мышке». Я же по мышке кликаю? Кликаю. Идет событие? Да идет. Сверху вниз. Куда же оно денется? Поэтому после создания GridPaneвот прямо здесь я ставлю – root, «точка»…
Фильтры, в которое событие погружаются-всплывают – это только «add». «setOnчто-то» - это на конкретном элементе.

Поэтому addEventFilterидет сверху вниз. Выбрал, добавил.

Здесь никто за меня ничего не напишет. Генерация поставила что хотела и сказала: «А подставляй какой хочешь». Нет не «какой хочешь», а ActionEvent.ACTION.А второй параметр,
| new EventHandler<ActionEvent>() {public void handle(ActionEvent event){ }} |

Интерфейс EventHandlerгенерирует анонимный класс.
Вопрос: Что мы получили?
Ответ: Мы получили обработчик. Внутриобработчиканапишемsout(“getinGrid”).
НауровнеGridPane - getinGrid. Смотрите. Вот я сейчас попробую запустить программу и я клюкаю на кнопочки. И вижу вывод сообщенияв консоле: «getinGrid».

| getinGrid СБОРКА УСПЕШНО ЗАВЕРШЕНА (общее время: 27 секунды) |
Эта кнопочка не обрабатывает ничего. Помните, что там нет обработчика. На любой кнопочке кликнули и увидели сообщение. Это было вниз. А теперь нужно то же самое вверх. Мне почему-то кажется, что верх можно сделать обычным Copy-Paste. Как вы считаете? Не слишком это нас расслабит?

| get in Grid get out of Grid get in Grid get out of Grid СБОРКА УСПЕШНО ЗАВЕРШЕНА (общее время: 4 секунды) |
Я беру в фильтре после soutпишу event.consume();, что означает, что рано вам получать это событие, рано.

| get in Grid get in Grid get in Grid get in Grid get in Grid get in Grid СБОРКА УСПЕШНО ЗАВЕРШЕНА (общее время: 4 секунды) |
Этот consume() съедает ActionEvent, который проходит через Grid. consume() останавливает событие на уровне Grid.Не доходит. До кнопки не доходит. Ну и понятно, что всплытия уже не будет. Кому всплывать? Никого нет. Вот мы перехватываем и отсекаем. На уровне gridидет контроль. Что-то пользователь недоделал.
Ну как отписываться от событий, тоже ясно. Не add, а remove.
Вариант, как сделать обработчик на 3 события есть на слайде. Берите оттуда и смотрите.
|
|
|
Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...
Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...
Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначенные для поддерживания проводов на необходимой высоте над землей, водой...
Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...
© cyberpediasu.com 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!