# | Название видеоурока | Видео / Тесты | Решило | Рейтинг | Доступ |
---|---|---|---|---|---|
1 |
![]() |
|
|||
На этом видеокурсе мы познакомимся с технологией JavaFX для создания GUI - графического пользовательского интерфейса. Мы нарисуем две формы для телефонной книжки, а затем подключим Модельную часть прошлого проекта. Таким образом мы сможем продемонстрировать всю прелесь шаблона проектирования MVC - изменение визуальной части без редактирования модели "движка". Классы модели телефонной книжки написаны в прошлом курсе, но будут представлены для удобства слушателей. Отчёт отправил: 10558. Иван Воронин Выполнено за 10 мин. [Показать отчёт] Научился: О редакторе Scene Builder для Java FX Сложности: найти время Комментарии: Очень интересная технология, поглядим поближе. Тоже люблю портабл версии. |
|||||
2 | View - Список пользователей |
|
|||
На этом уроке мы запустим программу Scene Builder и создадим в нём первое представление - форму UserList. Рассмотренно четыре этапа создания формы: 1. Выбор контейнера и размещение всех визуальных комопнентов. 2. Настройка каждого компонента (размер, текст, цвет и т.д.) 3. Присвоение идентификаторов компонентам и событиям. 4. Сохранение FXML файла и экспорт кода контроллера. Отчёт отправил: 10558. Иван Воронин Выполнено за 1 час. 41 мин. [Показать отчёт] Научился: Добавлению JavaFX в уже созданный ранее проект Java Swing Сложности: найти время Комментарии: Использовал SceneBuilder через IntelliJ IDEA, добавил поддержку JavaFX в уже созданный ранее проект на Java Swing. fxml файл расположил в спец. директории для ресурсов проекта на JavaFX. Контроллер для fxml файла располагается там же, где и остальные java файлы. Подключил контроллер к fxml файлу. Создал файл Main.java по аналогии с Program.java, только для запуска JavaFX приложения. Добавил отображение в консоли для нажатия на кнопку, клику по листвьюв и ввод текста в поиске. з.ы. На скриншоте видно, что мой ClickCount дошёл до 8, это без разминки, кликая указательным пальцем по маус 1, рекорд вроде бы 16 кликов в сек. =) |
|||||
3 | View - Карточка пользователя |
|
|||
На этом уроке мы подготовим второе представление - форму для Карточки пользователя. Отчёт отправил: 10558. Иван Воронин Выполнено за 39 мин. [Показать отчёт] Научился: Закрепил работу со SceneBuilder Сложности: найти время Комментарии: Отличный урок, как и в прошлом всё коротко и ясно, приступаем к связке. Пока выглядит намного удобнее и быстрее, чем через Swing вручную. |
|||||
4 | View - Запуск JavaFX Application |
|
|||
На этом уроке мы создадим JavaFX Application и запустим созданные формы из Java-программы. Отчёт отправил: 10558. Иван Воронин Выполнено за 11 мин. [Показать отчёт] Научился: Закрепил пройденное Сложности: найти время Комментарии: Реализовал отображение карточки при нажатии на кнопку "+" (добавление). Побил свой же рекорд по клику мыши до 15 в сек. Наверное могу и быстрее, не стал делать дубли, что получилось с первого раза, то и получилось. |
|||||
5 | View - Инициализация платформы |
|
|||
На этом уроке мы напишем методы инициализации наших платформ: stageList, stageCard. Обсудим принцип работы FXMLLoader-а и других компонентов платформы. Отчёт отправил: 10558. Иван Воронин Выполнено за 25 мин. [Показать отчёт] Научился: Инициализации форм и работе с ними. Сложности: найти время Комментарии: Реализовал открытие формы UserCard через кнопку Добавить (плюсик). Реализовал закрытие формы UserCard при нажатии на Сохранить/Удалить. Отличный урок, пока всё более компактно выглядит. |
|||||
6 | View - Работа с двумя формами |
|
|||
На этом уроке мы узнаем, как вызывать одну форму из другой. Для этого нам потребуется получить экземпляр контроллера. И передать ему ссылку на форму, которую нужно отображать. Затем мы сделаем модальную зависимость наших форм. В конце урока я покажу эффектный способ закрытия формы. Отчёт отправил: 10558. Иван Воронин Выполнено за 15 мин. [Показать отчёт] Научился: initOwner(), initModality(), getController() Сложности: найти время Комментарии: В прошлом уроке, чтобы отобразить форму UserCard, я сделал stageCard статичным и вызывал Main.stageCard.show() чтобы отобразить форму и Main.stageCard.hide(), чтобы скрывать её. Интересные связки, спасибо за урок, как всегда всё коротко и ясно. |
|||||
7 | JAR - Запуск полного архива |
|
|||
На этом уроке я вам подарю архив проекта Phone Book из курса "Design MVC". Мы создадим из него полный, запускаемый JAR архив со всеми зависимостями. Скопируем базу данных к этому архиву и запустим это всё. Рекомендую запустить архив из командной строки: java -jar MVCPhoneBook.jar Отчёт отправил: 10558. Иван Воронин Выполнено за 1 час. 05 мин. [Показать отчёт] Научился: Созданию артефактов через IntelliJ IDEA Сложности: найти время Комментарии: Мда, очень много мусора запихать пытается в jar файл, жуть, после длительных экспериментов понял, что надо реализовать так же как и делал ранее, а именно скопировал папки lib и db с их содержимым, убрал лишний мусор при создании jar файла, теперь он весит 27кб, создал для его запуска батник, теперь всё супер, на ПК лишь нужно установить Java-машину. |
|||||
8 | JAR - Запуск классного архива |
|
|||
На этом уроке мы создадим "классный" jar-архив, в который разместим только те java-классы, которые мы создали сами. Затем узнаем, как правильно запускать этот архив. Отчёт отправил: 10558. Иван Воронин Выполнено за 10 мин. [Показать отчёт] Научился: Повторил пройденное Сложности: найти время Комментарии: Просто посмотрел видео, создав второй артефакт, который собирает минимальный jar с необходимым кодом. Весь jar столько же, сколько и в прошлом уроке, когда я реализовал именно такой же способ, только я библиотеки помести в папку lib, а базы данных валяются в папке db. Это для меня как то приятнее на вид и глаза не мозолят. Так же и батник был создан на прошлом уроке, всё запускается и работает отлично. Идём дальше. |
|||||
9 | JAR - Подключение библиотеки |
|
|||
На этом уроке мы подключим созданный JAR-архив в наш JavaFX проект. Также подключим библиотеку SQLite и скопируем файл с базой данных. Затем попробуем запустить прежнюю версию телефонной книжки из основной программы, не забудьте заимпортировать наш код :) Попробуйте декомпилировать и просмотреть код классов из jar-архива. Отчёт отправил: 10558. Иван Воронин Выполнено за 12 мин. [Показать отчёт] Научился: Подключение и использованию созданной ранее программы в виде библиотеки нового проекта. Сложности: найти время Комментарии: Отличный урок, всё коротко и ясно, идём дальше. |
|||||
10 | Controller - UserCard - Загрузка |
|
|||
На этом уроке мы начнём использовать модель в программе. Для начала мы загрузим данные конкретного пользователя и отобразим их в форме карточки пользователя. Отчёт отправил: 10558. Иван Воронин Выполнено за 25 мин. [Показать отчёт] Научился: Повторил пройденное Сложности: найти время Комментарии: Реализовал фокус на втором поле. Вначале запустил тесты, потом отобразил запись, которая была добавлена последней в процессе тестирования работы с БД. Отличный урок, реализовывать работу кнопок не стал, а то вдруг в след уроке делать будет нечего =) |
|||||
11 | Controller - UserCard - Удалить или сохранить? |
|
|||
На этом уроке мы оживим кнопки удаления и сохранения. В процессе сохранения мы считаем информацию, которую ввёл пользователь в текстовые поля и вызовем нужный метод модели - добавить или обновить запись. На уроке мы не проверили, как работает добавление записи. Напишите в отчёте, как вы смогли это проверить. Отчёт отправил: 10558. Иван Воронин Выполнено за 10 мин. [Показать отчёт] Научился: Повторил пройденное Сложности: найти время Комментарии: Форма закрывается при успешном удалении или обновлении записи, продублировал код с прошлой реализации с валидацией на запрещённые символы в телефоне или имени. |
|||||
12 | Controller - UserCard - Добавление |
|
|||
На этом уроке мы сделаем проверку на добавление нового пользователя и повысим вашу самооценку :) Отчёт отправил: 10558. Иван Воронин Выполнено за 5 мин. [Показать отчёт] Научился: Закрепил пройденное Сложности: найти время Комментарии: Добавил отображение айди в консоли только если была добавлена новая запись, при обновлении записи выводить её айди нет смысла, оно и так известно. По поводу повышения самооценки не задумывался, но с каждым уроком думаю она повышается в соответствии с полученными знаниями. =) |
|||||
13 | Controller - UserList - Сообщение |
|
|||
На этом уроке мы начнём работать с контроллером contrList, который связывает модель с представлением формы списка записей. Мы создадим observer-класс для получения информации из модели. При получении String-сообщений будем их выводить на экран. Отчёт отправил: 10558. Иван Воронин Выполнено за 13 мин. [Показать отчёт] Научился: Повторил пройденное Сложности: найти время Комментарии: Перенёс наработки и адаптировал под JavaFX форм. |
|||||
14 | Controller - UserList - Список пользователей |
|
|||
На этом уроке мы сделаем самое главное - выведем список всех записей на экран. Для этого нам придётся познакомиться с ObservableList и переделкой списков. Отчёт отправил: 10558. Иван Воронин Выполнено за 15 мин. [Показать отчёт] Научился: ObservableList Сложности: найти время Комментарии: Отличный урок, коротко и ясно. |
|||||
15 | Controller - UserList - Выбор записи |
|
|||
На этом эмоциональном уроке мы напишем код для кнопки добавления новой записи, а также сделаем выбор записи из списка. Отчёт отправил: 10558. Иван Воронин Выполнено за 15 мин. [Показать отчёт] Научился: Закрепил пройденное Сложности: найти время Комментарии: Отличный урок, поверка на двойной клик аналогично как в Java, а вот проверка какой клавишей был клик отличается. В Java тип клавиши int и название BUTTON1 для левой клавиши мыши, а в JavaFX это уже Object, который сравнивается через equals, а левая клавиша мыши называется SECONDARY см. скриншот. Походу левша разрабатывается JavaFX =) |
|||||
16 | Controller - UserList - Поиск записей |
|
|||
На этом уроке мы закончим работу над контроллером UserList. Добавим вызов модельного метода для поиска пользователей. Правда, придётся вернуться к UserList.fxml файлу и немного его изменить - принимать другое событие при нажатии клавиш. (отзыв нужно будет написать в следующем уроке) Отчёт отправил: 10558. Иван Воронин Выполнено за 15 мин. [Показать отчёт] Научился: Закрепил пройденное Сложности: найти время Комментарии: Использовал проверку валидации вводимых символов. Отличный урок и курс в целом очень интересный. JavaFX однозначно отличная тема, MVC очень удобная штука. |
|||||
17 | ФИНАЛЬНЫЙ УРОК |
без видео |
|||
Работа над основной частью проекта завершена, поэтому прошу отвтетить на следующие вопросы: 1. Сколько времени у тебя ушло на прохождение курса? 2. Понравился ли тебе курс? Напиши небольшой отзыв. 3. Что можно добавить в этот проект? Когда ты это сделаешь? 4. Какой курс ты будешь проходить следующим? * Сделай видеообзор созданной программы (по желанию). Отчёт отправил: 10558. Иван Воронин Выполнено за 3 час. 00 мин. [Показать отчёт] Научился: Повторил пройденное Сложности: найти время Комментарии: Отличный курс, замечательная технология JavaFX, а шаблон проектирования MVC понравился ещё с прошлого курса, когда писали данное приложение ещё на чистой Java. Спасибо огромное, вот и закончил все курсы по Java. Далее буду проходить потихоньку начатые курсы. Видеообзор: MYUOR9j8_J0 |
|||||
Итого: 17 видеоуроков |
2 час. 58 мин. |
9 чел. | |||
Финалисты: Елена, Алексей В., Новопашин Владимир, Сергей Соколов, Tekashnik, Иван Воронин, Александр, Anatoli, Tom . |