Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...
История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...
Топ:
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов...
Оценка эффективности инструментов коммуникационной политики: Внешние коммуникации - обмен информацией между организацией и её внешней средой...
Характеристика АТП и сварочно-жестяницкого участка: Транспорт в настоящее время является одной из важнейших отраслей народного хозяйства...
Интересное:
Принципы управления денежными потоками: одним из методов контроля за состоянием денежной наличности является...
Национальное богатство страны и его составляющие: для оценки элементов национального богатства используются...
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Дисциплины:
|
из
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 события есть на слайде. Берите оттуда и смотрите.
|
|
|
Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...
Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...
Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...
Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...
© cyberpedia.su 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!