Лекция 1
Темы:
- Графические интерфейсы
- оконные программы (с кнопками)
- Фрактал Мандельброта
- Исключения в Java. (Здорово, если уже было)
- Многопоточные приложения
- Шаблоны проектирования (?)
Графические приложения
Какие для этого есть библиотеки?
- древняя библиотека AWT
- более современная замена Swing
Обе эти библиотеки встроены в Java (в JDK), т.е. они уже у вас установлены.
- Библиотека JavaFX еще более современная замена Swing и AWT и до Java 8 она тоже была встроена в JDK. Сейчас это отдельный проект. Мы будем ей пользоваться, придется устанавливать.
Не смотря на то, что JavaFX более современный, Swing настолько активно и много использовался раньше, что его продолжат поддерживать и развивать. На нем написана даже IDEA. До сих пор иногда приходится преобразовывать объекты между Swing и JavaFX.
Установка JavaFX
Создайте новый проект или новый модуль в старом.
Загрузите библиотеку с https://openjfx.io/ Выберите версию, которая соответсвтует версии Java.
Распакуйте куда-нибудь, если распакуете в проект, обязательно добавьте в .gitignore
В разделе File -> Project Structure добавили библиотеку Library и подсоединили ее к модулю (в проекте может быть несколько модулей). При подключении нужно выделить все файлы из каталога javafx-sdk-…/lib
Написали код с примером минимальной программы.
Написали файл src/module-info.java Начиная с Java 9 в Java появились модули. Теперь программа состоит из модулей, и если вы их не пишете, это только потому что Java разрешает не писать модули ради тех, кто не хочет переучиться и старых программ, которые не хотят преписывать. Например, JDK - стандартная библиотека Java - очень большая, там есть много того, что нужно редко и точно не нужно во всех проектах. Например, работа с XML. Или работа с HTTP. Начиная с Java 9 весь JDK состоит из модулей, и теперь можно часть этих модулей не использовать, из-за этого программа становится меньше, запускается быстрее.