JavaFX для начинающих. Создание графических приложений на Java. Исходные коды обновлены: апрель 2019 г.
Нужно ли вам изучать JavaFX. Обычно новички пытаются сразу перейти в раздел веб разработки или Android, т.к. это более актуально и престижно.
Но тем самым допускают ошибку - у них мало практики по основам Java, ООП, базам данных.
Чтобы закрыть этот пробел - вы можете создавать графические JavaFX приложения.
Вместо того, чтобы тренироваться в консольных приложениях, интереснее и полезнее получать практику на красивых UI приложениях.
Вам не нужно досконально изучать каждый раздел JavaFX (если конечно не требуется по работе или проекту). Достаточно понять событийную модель и основные компоненты - этого будет достаточно, чтобы создавать программы средней сложности, работающие с БД.
Красивые desktop приложения
Многие программисты жаловались, что desktop приложения на Java получаются некрасивыми и не такими интерактивными, как хотелось бы.
Тогда разработчики языка Java придумали новый фреймворк JavaFX, где исправили все недостатки и добавили новые возможности.
Теперь вы сможете создавать красивые и интерактивные desktop приложения и не стыдиться своего результата.
К тому же фреймворк JavaFX включает в себя большое количество готовых компонентов, в том числе сторонних, на все случаи жизни.
Это действительно один из популярных вариантов по созданию насыщенных настольных Java приложений.
JavaFX - это новое направление, которое позволит вам создавать красивые desktop приложения на Java
Чем JavaFX отличается от Swing?
Основное отличие - в удобстве и возможностях JavaFX по сравнению с Swing. Теперь вы можете использовать концепцию разделения внешнего вида от функционала (идея MVC - Model View Controller).
Разработка приложения упрощается, количество готовых компонентов увеличилось. Если вы помните, на Swing было очень тяжело написать приложение с интересным дизайном, приходилось выполнять определенные трюки.
Здесь же все намного проще. Поэтому многие разработчики не задумываясь переходят с Swing на JavaFX.
Означает ли это, что Swing можно забыть?
Нет, вы можете использовать Swing совместно с JavaFX (особенно это нужно для старых проектов для более плавного перехода).
Либо, если создаете с нуля, можете программировать только на JavaFX, а Swing не использовать. В этом случае вы получаете все преимущества нового фреймворка, без привязки к старому.
Обычно при внедрении JavaFX в старые Swing приложения сначала заменяют компоненты один за другим, а в конце уже полностью переносят проект.
Видеоуроки
Каждый урок выполнен в формате видео, которое можно переносить на разные устройства и пересматривать в любом месте
Готовые исходные коды
Обучайтесь на готовых примерах - открывайте исходные коды по всем урокам и заданиям, запускайте в IntelliJ IDEA
Задания с решениями
Закрепление по всем пройденным темам уроков - выполняйте домашние задания и сравнивайте полученный результат
Основные темы уроков
Основы построения графического интерфейса
- Проектирование GUI
- Структура приложения JavaFX
- Создание интерфейса
- Резиновый макет
- Модальные окна
- Инструмент SceneBuilder
- Объекты Stage и Scene
- Использование CSS
- Модальные окна
- Использование FXML
- Создание макетов
- Дерево элементов
Контроллеры, действия пользователя
- Обработка событий
- Отображение данных в таблице
- Редактирование данных
- Аннотация FXML
- Использование ObservableList
- Инициализация компонентов
- Оптимизация UI
- Библиотека openjfx-dialogs
- Валидация данных
- Класс StringProperty
Кастомизация, локализация, добавление компонентов
- Локализация приложения
- Сторонние библиотеки компонентов
- Переключение локали
- Сравнение Swing и JavaFX
- Плюсы и минусы
- Примеры приложений
- Использование Locale
- i18n и i10n
- Создание своих компонентов
- Использование шаблона Observer
Работа с БД из JavaFX приложения
- Проектирование таблицы БД
- Заполнение таблицы из БД
- Изменение, добавление, удаление данных
- Поиск данных
- Автоматические обновление
- Модальные окна для редактирования
- Выполнение SQL запросов
- Переключение реализаций ООП
- Добавление абстракного слоя
Стилизация и добавление дизайна
- Изменение дизайна приложения
- Разбор структуры компонентов
- Использование CSS
- Отладка внешнего вида
- Работа с селекторами CSS
- Изменение стандартных компонентов
- Разделение UI и дизайна
Сравните 2 реализации одной задачи
Реализация на Swing
Здесь применяются "стандартные" технологии, ограниченные по возможностям и красоте. Из-за чего все desktop приложения Java выглядят страшновато.
Сейчас многие активное пересаживаются со Swing на другие решения, т.к. постоянно упираются в потолок из-за ограниченности и "деревянности" приложений.
Реализация на JavaFX
JavaFX - новое слово в развитие desktop приложений на Java: новые библиотеки, украшения и скины. Технология позволяет разнообразить внешний вид на любой вкус. Ваши приложения больше не будут выглядеть древними.
* Исходный код этого MP3 плеера с видеообзором вы также получите в виде бонуса к курсу
Чему вы научитесь
Вы научитесь создавать приложения JavaFX, узнаете в чем разница между этой технологией и Swing.
Создадите проект для закрепления.
Поймете как взаимодействовать с пользователями, заполнять данными таблицы, редактировать данные, добавлять несколько языков в приложение и многое другое.
Какое приложение вы разработаете с нуля?
Адресная книга
После изучения основ JavaFX (построение интерфейса, компоненты, связывание с кодом) вы разработаете первый проект "Адресная книга" - для закрепления всех полученных знаний.
Что вы будете практиковать:
- - работа с компонентами
- - редактирование, удаление, добавление
- - использование сторонних компонентов
- - связывание контроллеров, GUI, компонентов
- - диалоговые окна, валидации
- - заполнение таблицы с помощью специальных классов
- - применение принципов ООП
и многое другое...