
Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...
Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...
Топ:
Оснащения врачебно-сестринской бригады.
Эволюция кровеносной системы позвоночных животных: Биологическая эволюция – необратимый процесс исторического развития живой природы...
Процедура выполнения команд. Рабочий цикл процессора: Функционирование процессора в основном состоит из повторяющихся рабочих циклов, каждый из которых соответствует...
Интересное:
Искусственное повышение поверхности территории: Варианты искусственного повышения поверхности территории необходимо выбирать на основе анализа следующих характеристик защищаемой территории...
Что нужно делать при лейкемии: Прежде всего, необходимо выяснить, не страдаете ли вы каким-либо душевным недугом...
Берегоукрепление оползневых склонов: На прибрежных склонах основной причиной развития оползневых процессов является подмыв водами рек естественных склонов...
Дисциплины:
![]() |
![]() |
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-2025 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!