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

1
17243
Добавить в избранное

Если вам нужно создать графическое приложение с мощным визуальным интерфейсом на Java, то JavaFX – то, что вы искали. Давайте перейдем к обучению.

Вводный урок

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

Примеры

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

Swing и JavaFX

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

Ключевые отличия JavaFX

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

Создание программы

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

Использование FXML

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

Инструмент Scene Builder

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

Дополнение к Scene Builder

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

Объекты Stage и Scene

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

Использование CSS

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

Обработка событий

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

Проектирование GUI

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

Проектирование GUI. Разбор д/з

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

Создание интерфейса

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

Резиновый макет

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

Резиновый макет. Разбор д/з

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

Модальные окна

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

Аннотация @FXML

Здесь вы узнаете об интересной возможности, которая есть внутри JavaFX – аннотация @FXML. Она позволяет связывать компоненты интерфейса из файла 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-файл, выводящий на экран диалоговые окна в вашем приложении. Это дополнение может показывать сообщения пользователям, если произошла ошибка при вводе или проблема с данными.

Переключение локали

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

Другие материалы по теме:

Интересуетесь программированием на Java?

Подпишитесь на нашу рассылку, чтобы получать больше интересных материалов:

И не беспокойтесь, мы тоже не любим спам. Отписаться можно в любое время.




Один комментарий

  1. ArrayListPerson
    Вы, как написано так и читаете. Человек, который сталкивается с эим первый раз, будет обескуражен, он не поймёт о чём вообще речь…
    Наверно лучше было бы читать с передачей смысла:
    Создаём Массив данных, который будет содержать Список Персон(Служащих).
    Кстати, все переменные можно писать русским шрифтом.

    Ещё при программировании в VBA попрактиковал, очень сильно облегчает читаемость кода.

Добавить комментарий