JavaFX за разработка на потребителски интерфейси (GUI)

Събитийна обработка в JavaFX – Използване на кликвания на бутони

Всички видеоклипове от урока JavaFX за разработка на потребителски интерфейс (GUI)

В света на JavaFX потребителската интеракция е централно елемент, за да направи приложенията живи и динамични. Вече сте настроили един прост прозорец и един бутон, но какво се случва, когато потребителят кликне върху този бутон? В този урок ще обясним как да имплементирате Event-обработчик във вашето JavaFX приложение, за да реагирате на кликвания на бутона. Целта е да конфигурирате бутона така, че при клик да се извършва определено действие.

Най-важни изводи

  • Ще научите как да добавите Event-обработчик, за да обработвате събития от кликвания.
  • Ще се покаже как да адаптирате оформлението на бутона в прозореца си.
  • Работа с глобални променливи, за да използвате контролни елементи в различни методи.

Стъпка по стъпка инструкции

На първо място, искаме да позиционираме бутона по-близо до центъра на прозореца. За целта трябва да промените кода от предишното видео.

Заменете функцията setBottom с setCenter, за да представите бутона централно в оформлението. Бутонът веднага ще се появи в желаната позиция.

Събитийна обработка в JavaFX – Използване на кликвания на бутони

Сега бутонът е центриран, но все още не функционира. Искаме да добавим функционалност на евент-обработчик. За това имплементираме EventHandler, за да зададем действие на бутона. Това се прави така:

На първо място добавете implements EventHandler в дефиницията на класа си. Това ще ви позволи да реагирате на ActionEvents на бутона. Уверете се, че добавяте необходимите импорти за EventHandler и ActionEvent.

Събитийно управление в JavaFX – Използване на кликвания на бутони

След имплементацията трябва да се уверите, че са добавени всички необходими методи. Ако все още не сте го направили, използваме функцията add unimplemented methods, за да гарантираме, че всичко е интегрирано коректно.

Сега дефинирате метода handle. Тук ще определите какво да се случи, когато бутона бъде натиснат. Вероятно искате да определите кой бутон е бил натиснат, така че имплементирайте запитване, за да идентифицира бутона.

Събитийна обработка в JavaFX – Използване на кликвания на бутони

За да имате глобална променлива, която съхранява текущото състояние на приложението ви, можете да декларирате int-променлива, наречена i. Тази променлива се увеличава всеки път, когато бутонът бъде натиснат.

Обработка на събития в JavaFX – Използване на кликвания на бутони

Сега използваме метода System.out.println(), за да записваме колко пъти е бил натиснат бутонът. Важно е да направите изхода видим в прозореца на конзолата.

За да се уверите, че бутонът ви може да реагира на кликвания, трябва да използвате setOnAction(). При това указвате, че бутонът да използва Event-обработчика, който вече сте дефинирали.

Стартирайте приложението и когато сега кликнете върху бутона, конзолния прозорец трябва да се отвори и да ви покаже колко пъти вече сте кликнали. Всеки път, когато кликнете, броячът се увеличава.

Събитийно обработване в JavaFX – Използване на кликвания на бутони

Това е основната имплементация на Event-обработчик за бутон в JavaFX. Процесът може да бъде по-нататък усъвършенстван и разширен с нови функции. Тази форма на потребителска интеракция ще играе роля в много приложения.

Резюме – Потребителска интеракция с JavaFX – Приложение на Event-обработчици

В този урок научихте как да имплементирате Event-обработчик в JavaFX и как да реагирате на потребителски интеракции. Видяхте как да центрирате бутона, да го използвате глобално и да определяте кликваеми действия. Концепциите, които бяха разгледани тук, могат да се прилагат на много различни GUI елементи.

Често задавани въпроси

Какво е Event-обработчик?Event-обработчик е метод, който дефинира определено действие, което се извършва, когато възникне събитие, като клик на бутон.

Как да центрирам бутон в JavaFX?Като използвате метода setCenter() за оформлението, можете да позиционирате бутона в централната част на прозореца.

Как мога да преброя кликванията на бутона?Можете да използвате глобална променлива, която се увеличава с едно при всеки клик, и да покажете този изход в конзолата.