34 крутые видеолекции по JavaFX для начинающих
Если вам нужно создать графическое приложение с мощным визуальным интерфейсом на Java, то JavaFX – то, что вы искали. Давайте перейдем к обучению.
Вводный урок
На первом уроке будет дано определение, что такое JavaFX, для чего используется, и какие аналоги существуют. Вы разберетесь с Rich Internet Application: что это такое, какие приложения могут быть RIA, а также получите документацию и учебные материалы по теме урока.
https://www.youtube.com/watch?v=db2wxZ1yDl8
☕ Подтянуть свои знания по Java вы можете на нашем телеграм-канале «Библиотека Java для собеса»
Примеры
В этом уроке автор предлагает рассмотреть примеры, позволяющие оценить возможности платформы JavaFX, чтобы вы могли понять, как может работать приложение, как запускается браузерный и десктопный вариант. Примеры будут заимствоваться с jfx-wiki и с официального сайта Oracle.
https://www.youtube.com/watch?v=dKIvpVt2hXI
Swing и JavaFX
Третья лекция посвящена пониманию разницы между похожими инструментами: Swing и JavaFX. Из-за того, что JavaFX позиционируется, как замена Swing, в проектах лучше использовать первый инструмент, но и Swing списывать со счетов еще рано. Автор покажет отличительные особенности каждого продукта и плавно подведет к началу практических занятий.
https://www.youtube.com/watch?v=CvmCzZH7frE
Ключевые отличия JavaFX
Еще немного теории, забытой на прошлых уроках. Вы рассмотрите несколько понятных презентаций, которые внесут ясность в некоторые моменты изучения платформы, чтобы четче понимать ее возможности.
https://www.youtube.com/watch?v=9C2VKLAp5LA
Создание программы
В этом уроке вы создадите простейший проект на JavaFX, запустите его и попробуете себя в роли разработчика GUI. Весь интерфейс создается в коде. Программа будет запускаться, как обычный проект, а в качестве IDE используется IntelliJ IDEA.
https://www.youtube.com/watch?v=YdhKqpQ8mDc
Использование FXML
Данный урок является логическим продолжением прошлого, только в этом уроке вы научитесь создавать приложения с использованием FXML. При таком подходе весь пользовательский интерфейс описывается в XML файле, а не в Java-коде.
https://www.youtube.com/watch?v=0uvMOo61uDI
Инструмент Scene Builder
Перед тем, как перейти к следующему этапу обучения, автор предлагает рассмотреть полезный инструмент – Scene Builder. Чтобы не прописывать все теги руками и сразу иметь представление о расположении элементов на экране рассматриваемый инструмент подходит как нельзя кстати.
https://www.youtube.com/watch?v=v96cc7Mk-v0
Дополнение к Scene Builder
Scene Builder показывает информацию во всех средах разработки не совсем корректно. В этой короткой лекции вы узнаете, как правильнее его использовать в реальных проектах.
https://www.youtube.com/watch?v=IreQTCUJHm8
Объекты Stage и Scene
Вы будете постоянно работать с классами stage и scene, поэтому очень важно хорошенько понять значение и назначение этих объектов. Кроме описанных понятий, в этом уроке рассматривается класс Node, понятие SceneGraph и дерево компонентов.
https://www.youtube.com/watch?v=iy808zN9SF0
Использование CSS
В прошлых уроках вы научились создавать пользовательский интерфейс различными способами, а теперь пришло время узнать, как подключать файлы стилей для придания приложению красоты и уникальности.
https://www.youtube.com/watch?v=kwBb8kn1DNo
Обработка событий
В JavaFX обработка событий происходит так же легко, как и в Swing, но знать этот процесс все равно необходимо. Вариантов создания обработчиков много, поэтому на этом уроке рассматриваются самые распространенные из них.
https://www.youtube.com/watch?v=cB3zV3Fn3Bo
Проектирование GUI
Перед тем, как приступить к более насыщенной практике, автор предлагает рассмотреть онлайн сервисы для проектирования GUI в графическом представлении. Вы научитесь создавать макеты будущих приложений в сервисе moqups.
https://www.youtube.com/watch?v=f9pGCDDLReE
Проектирование GUI. Разбор д/з
На прошлом уроке было дано домашнее задание, в котором необходимо нарисовать интерфейс для программы “Адресная книга” в сервисе moqups. Требовалось определиться с выбором компонентов из палитры и организовать хранение данных в коллекции. Эта лекция посвящена разбору домашнего задания.
https://www.youtube.com/watch?v=LJcfXXXecrA
Создание интерфейса
В этом уроке вы узнаете, как импортировать сторонний макет (в нашем случае moqups) в Scene Builder. Автор объясняет, как выбрать правильный компонент для построения GUI и рассказывает о контроле TableView, который используется в проекте.
https://www.youtube.com/watch?v=DsTpMGWHnPU
🧩☕ Интересные задачи по Java для практики можно найти на нашем телеграм-канале «Библиотека задач по Java»
Резиновый макет
На прошлых уроках вы создали свое первое приложение на JavaFX, но его нужно немного модернизировать и добавить резиновый макет для удобства использования на разных девайсах. Для создания резинового макета будет применяться контейнер AnchorPane.
https://www.youtube.com/watch?v=m70kYjeergw
Резиновый макет. Разбор д/з
В конце прошлого урока было выдано новое домашнее задание, направленное на закрепление полученных знаний. Автор в этой лекции покажет, как нужно было выполнить домашнее задание, и разъяснит все по каждому пункту.
https://www.youtube.com/watch?v=Ip5r7UXvID0
Модальные окна
В этом уроке вы узнаете, что такое модальные окна, научитесь использовать объект Node, а также примените вызов модального окна в вашем проекте для редактирования данных.
https://www.youtube.com/watch?v=G3r_HLnzTsc
Аннотация @FXML
Здесь вы узнаете об интересной возможности, которая есть внутри JavaFX – аннотация @FXML. Она позволяет связывать компоненты интерфейса из файла FXML с объектами кода контроллера.
https://www.youtube.com/watch?v=zglC07ZyarI
Аннотация @FXML. Разбор д/з
Для закрепления темы аннотации, в конце предыдущей лекции было выдано домашнее задание, в котором нужно добавить атрибут fx:id для всех компонентов FXML и создать соответствующие объекты в контроллерах. Автор курса показывает, как можно было добиться поставленной цели.
https://www.youtube.com/watch?v=vqEoyInoULc
Проектирование функционала
Проект любого размера всегда начинается с функционала. К написанию нужно подходить серьезно и грамотно использовать ООП-подход – вначале делается абстракция, а потом реализация. На этой лекции рассматривается профессиональный подход к проектированию любого приложения.
https://www.youtube.com/watch?v=RDErWUAxciA
Проектирование функционала. Разбор д/з
В домашнем задании к этому уроку нужно было создать интерфейс в коде, организовать методы добавления, удаления и изменения данных, а также создать класс Person c нужными полями и геттерами / сеттерами. Автор все доходчиво объясняет.
https://www.youtube.com/watch?v=SnC_jZ6LzQI
Реализация интерфейса
На прошлых уроках вы создавали программный интерфейс, и теперь пришло время его реализовать. В этой лекции, как всегда, будет повторение пройденного материала, создание интерфейса и проверка его работы, а также дебаг работающего проекта.
https://www.youtube.com/watch?v=LeLURS5yzl4
Реализация интерфейса. Разбор д/з
На самостоятельное изучение автор курса выдал вам точки остановки. В качестве практического задания нужно было реализовать методы печати всех записей в консоль и заполнение коллекций тестовыми данными. Все моменты из практики преподаватель разберет на этом уроке.
https://www.youtube.com/watch?v=E5bIu4JCLI8
Отображение данных в таблице
Теперь нужно разобраться, как заполнять таблицу или компонент TableView данными из коллекции. В урок входит рассмотрение других типов коллекций, предусмотренных для работы с TableView, таких как initialize(), ObservableListWrapper и PropertyValueFactory.
https://www.youtube.com/watch?v=eZvRfyiUuBA
Отображение данных в таблице. Разбор д/з
Разбираем домашнее задание. Из четырех задач была одна практическая – реализация слушателя по мануалу из java2s. Автор, как всегда, покажет решение всех задач и сделает акценты на важных нюансах.
https://www.youtube.com/watch?v=79lPfrDodZc
Определение действий пользователя
Для того чтобы узнать какую кнопку нажал пользователь или какую запись в таблице он выбрал, важно понимать механизмы производимых действий. На этом уроке вы узнаете, как определить нажатие кнопки, как получить id компонента и т. д.
https://www.youtube.com/watch?v=aKvrAEJnvIw
Редактирование данных
В этом уроке доработка проекта продолжается, и вы реализуете метод редактирования данных. Также рассмотрите класс StringProperty, научитесь реализовывать автоматическое обновление таблицы.
https://www.youtube.com/watch?v=zMrs_JmtjgI
Редактирование данных. Разбор д/з
Домашнее задание по доработке функционала проекта. Преподаватель реализует удаление и добавление записи, и научит, как сделать так, чтобы по двойному клику открывалось окно редактирования.
https://www.youtube.com/watch?v=t9cC7GPSDWk
Локализация приложения
В этом уроке вы разберетесь, как добавить возможность поддержки нескольких языков приложения. Рассмотрите понятия internationalization, localization и globalization. Научитесь добавлять в проект переводы, объекты Locale и переключение языка.
https://www.youtube.com/watch?v=yRuxgCyXg8E
Локализация приложения. Разбор д/з
В домашнем задании прошлого урока вам нужно было прочитать дополнительный материал про объекты Locale, файлы локализации Scene Builder и массу документации по среде IDEA. В качестве практики – сделать перевод компонентов и импортировать его в проект.
https://www.youtube.com/watch?v=bFpSalZfvxU
Сторонние библиотеки компонентов
Эта лекция научит вас подключать дополнительные библиотеки компонентов. Данные дополнения важны в реальных проектах т. к. довольно часто решить задачу стандартными способами не представляется возможным.
https://www.youtube.com/watch?v=_J1QEQEWKSo
Сторонние библиотеки компонентов. Разбор д/з
В конце прошлого урока автор дал задание подключить библиотеки ControlsFX для функционирования поиска. Нужно было использовать компонент CustomTextField для очистки поля. В ролике вы увидите вариант реализации этого задания.
https://www.youtube.com/watch?v=V9pdymwapsA
Диалоговые окна
В этой лекции вы узнаете, как добавить .jar-файл, выводящий на экран диалоговые окна в вашем приложении. Это дополнение может показывать сообщения пользователям, если произошла ошибка при вводе или проблема с данными.
https://www.youtube.com/watch?v=tNvfqaWRauU
Переключение локали
В последнем видео курса вы реализуете динамическое переключение локали, чтобы одновременно с этим изменялись все надписи графического интерфейса в зависимости от выбранного языка.
https://www.youtube.com/watch?v=o62WN1cKe34