34 крутые видеолекции по JavaFX для начинающих

На первом уроке будет дано определение, что такое JavaFX, для чего используется, и какие аналоги существуют. Вы разберетесь с Rich Internet Application: что это такое, какие приложения могут быть RIA, а также получите документацию и учебные материалы по теме урока.

В этом уроке автор предлагает рассмотреть примеры, позволяющие оценить возможности платформы JavaFX, чтобы вы могли понять, как может работать приложение, как запускается браузерный и десктопный вариант. Примеры будут заимствоваться с jfx-wiki и с официального сайта Oracle.

Третья лекция посвящена пониманию разницы между похожими инструментами: Swing и JavaFX. Из-за того, что JavaFX позиционируется, как замена Swing, в проектах лучше использовать первый инструмент, но и Swing списывать со счетов еще рано. Автор покажет отличительные особенности каждого продукта и плавно подведет к началу практических занятий.

Еще немного теории, забытой на прошлых уроках. Вы рассмотрите несколько понятных презентаций, которые внесут ясность в некоторые моменты изучения платформы, чтобы четче понимать ее возможности.

В этом уроке вы создадите простейший проект на JavaFX, запустите его и попробуете себя в роли разработчика GUI. Весь интерфейс создается в коде. Программа будет запускаться, как обычный проект, а в качестве IDE используется IntelliJ IDEA.

Данный урок является логическим продолжением прошлого, только в этом уроке вы научитесь создавать приложения с использованием FXML. При таком подходе весь пользовательский интерфейс описывается в XML файле, а не в Java-коде.

Перед тем, как перейти к следующему этапу обучения, автор предлагает рассмотреть полезный инструмент – Scene Builder. Чтобы не прописывать все теги руками и сразу иметь представление о расположении элементов на экране рассматриваемый инструмент подходит как нельзя кстати.

Scene Builder показывает информацию во всех средах разработки не совсем корректно. В этой короткой лекции вы узнаете, как правильнее его использовать в реальных проектах.

Вы будете постоянно работать с классами stage и scene, поэтому очень важно хорошенько понять значение и назначение этих объектов. Кроме описанных понятий, в этом уроке рассматривается класс Node, понятие SceneGraph и дерево компонентов.

В прошлых уроках вы научились создавать пользовательский интерфейс различными способами, а теперь пришло время узнать, как подключать файлы стилей для придания приложению красоты и уникальности.

В JavaFX обработка событий происходит так же легко, как и в Swing, но знать этот процесс все равно необходимо. Вариантов создания обработчиков много, поэтому на этом уроке рассматриваются самые распространенные из них.

Перед тем, как приступить к более насыщенной практике, автор предлагает рассмотреть онлайн сервисы для проектирования GUI в графическом представлении. Вы научитесь создавать макеты будущих приложений в сервисе moqups.

На прошлом уроке было дано домашнее задание, в котором необходимо нарисовать интерфейс для программы “Адресная книга” в сервисе moqups. Требовалось определиться с выбором компонентов из палитры и организовать хранение данных в коллекции. Эта лекция посвящена разбору домашнего задания.

В этом уроке вы узнаете, как импортировать сторонний макет (в нашем случае moqups) в Scene Builder. Автор объясняет, как выбрать правильный компонент для построения GUI и рассказывает о контроле TableView, который используется в проекте.

На прошлых уроках вы создали свое первое приложение на JavaFX, но его нужно немного модернизировать и добавить резиновый макет для удобства использования на разных девайсах. Для создания резинового макета будет применяться контейнер AnchorPane.

В конце прошлого урока было выдано новое домашнее задание, направленное на закрепление полученных знаний. Автор в этой лекции покажет, как нужно было выполнить домашнее задание, и разъяснит все по каждому пункту.

В этом уроке вы узнаете, что такое модальные окна, научитесь использовать объект Node, а также примените вызов модального окна в вашем проекте для редактирования данных.

Здесь вы узнаете об интересной возможности, которая есть внутри JavaFX – аннотация @FXML. Она позволяет связывать компоненты интерфейса из файла FXML с объектами кода контроллера.

Для закрепления темы аннотации, в конце предыдущей лекции было выдано домашнее задание, в котором нужно добавить атрибут fx:id для всех компонентов FXML и создать соответствующие объекты в контроллерах. Автор курса показывает, как можно было добиться поставленной цели.

Проект любого размера всегда начинается с функционала. К написанию нужно подходить серьезно и грамотно использовать ООП-подход – вначале делается абстракция, а потом реализация. На этой лекции рассматривается профессиональный подход к проектированию любого приложения.

В домашнем задании к этому уроку нужно было создать интерфейс в коде, организовать методы добавления, удаления и изменения данных, а также создать класс Person c нужными полями и геттерами / сеттерами. Автор все доходчиво объясняет.

На прошлых уроках вы создавали программный интерфейс, и теперь пришло время его реализовать. В этой лекции, как всегда, будет повторение пройденного материала, создание интерфейса и проверка его работы, а также дебаг работающего проекта.

На самостоятельное изучение автор курса выдал вам точки остановки. В качестве практического задания нужно было реализовать методы печати всех записей в консоль и заполнение коллекций тестовыми данными. Все моменты из практики преподаватель разберет на этом уроке.

Теперь нужно разобраться, как заполнять таблицу или компонент TableView данными из коллекции. В урок входит рассмотрение других типов коллекций, предусмотренных для работы с TableView, таких как initialize(), ObservableListWrapper и PropertyValueFactory.

Разбираем домашнее задание. Из четырех задач была одна практическая – реализация слушателя по мануалу из java2s. Автор, как всегда, покажет решение всех задач и сделает акценты на важных нюансах.

Для того чтобы узнать какую кнопку нажал пользователь или какую запись в таблице он выбрал, важно понимать механизмы производимых действий. На этом уроке вы узнаете, как определить нажатие кнопки, как получить id компонента и т. д.

В этом уроке доработка проекта продолжается, и вы реализуете метод редактирования данных. Также рассмотрите класс StringProperty, научитесь реализовывать автоматическое обновление таблицы.

Домашнее задание по доработке функционала проекта. Преподаватель реализует удаление и добавление записи, и научит, как сделать так, чтобы по двойному клику открывалось окно редактирования.

В этом уроке вы разберетесь, как добавить возможность поддержки нескольких языков приложения. Рассмотрите понятия internationalization, localization и globalization. Научитесь добавлять в проект переводы, объекты Locale и переключение языка.

В домашнем задании прошлого урока вам нужно было прочитать дополнительный материал про объекты Locale, файлы локализации Scene Builder и массу документации по среде IDEA. В качестве практики – сделать перевод компонентов и импортировать его в проект.

Эта лекция научит вас подключать дополнительные библиотеки компонентов. Данные дополнения важны в реальных проектах т. к. довольно часто решить задачу стандартными способами не представляется возможным.

В конце прошлого урока автор дал задание подключить библиотеки ControlsFX для функционирования поиска. Нужно было использовать компонент CustomTextField для очистки поля. В ролике вы увидите вариант реализации этого задания.

В этой лекции вы узнаете, как добавить .jar-файл, выводящий на экран диалоговые окна в вашем приложении. Это дополнение может показывать сообщения пользователям, если произошла ошибка при вводе или проблема с данными.

В последнем видео курса вы реализуете динамическое переключение локали, чтобы одновременно с этим изменялись все надписи графического интерфейса в зависимости от выбранного языка.