Лекция 1

Темы:

  1. Графические интерфейсы
    • оконные программы (с кнопками)
    • Фрактал Мандельброта
  2. Исключения в Java. (Здорово, если уже было)
  3. Многопоточные приложения
  4. Шаблоны проектирования (?)

Графические приложения

Какие для этого есть библиотеки?

Обе эти библиотеки встроены в Java (в 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 состоит из модулей, и теперь можно часть этих модулей не использовать, из-за этого программа становится меньше, запускается быстрее.