Java — мощный и популярный язык программирования. Многие, начав изучение Java, останавливаются на создании консольных приложений. Эта статья демонстрирует, как быстро и просто создать полноценное Java-приложение с графическим интерфейсом, работающее с API для получения данных о погоде.
Настройка среды разработки
Для создания приложения необходимы:
- Java: Рекомендуется использовать Java 11 (с Java 13 возможны ошибки при работе с JavaFX). Скачайте и установите её с сайта Oracle.
- JavaFX: Библиотека для создания графического интерфейса. Загрузите JavaFX SDK с официального сайта и распакуйте архив. В среде разработки (например, IntelliJ IDEA) добавьте файлы из распакованной папки JavaFX как новый модуль в проект. Установите соответствующую галочку и нажмите «OK». В настройках запуска (Run/Debug Configurations) в поле VM options укажите полный путь к папке с JavaFX (например, —module-path "C:pathtojavafx-sdk-11lib" —add-modules javafx.controls,javafx.fxml).
Дизайн интерфейса с помощью Scene Builder
Для проектирования интерфейса используйте Scene Builder. Скачайте и установите его. Откройте файл sample.fxml в Scene Builder. Разместите необходимые элементы (кнопки, текстовые поля), задайте стили (аналогично CSS) и установите ID для каждого элемента. Укажите контроллер, обрабатывающий действия пользователя. Scene Builder предоставит готовый дизайн и шаблон кода для контроллера. Скопируйте сгенерированный код контроллера.
Разработка и работа с контроллером и API
В основном классе приложения укажите название и размеры приложения, деактивируйте изменение размеров окна. Вставьте скопированный код контроллера в проект. В методе initialize(), вызываемом при запуске окна, удалите ненужный код и создайте обработчик события нажатия на кнопку. Сначала выводите информацию в консоль.
Для получения данных о погоде используйте бесплатный сервис OpenWeatherMap. Зарегистрируйтесь на сайте и получите API-ключ. Мы используем функцию получения данных о погоде по названию города. Отправьте запрос по URL-адресу, подставив название города и API-ключ. Сервис вернет данные в формате JSON. В контроллере напишите код для отправки запроса к OpenWeatherMap, используя стандартные средства Java для работы с HTTP-запросами. Обработайте возможные ошибки (например, неверный город). Для работы с JSON-данными используйте библиотеку, например, json-java (скачайте её из репозитория Maven и добавьте в проект). Напишите код для преобразования JSON-данных и вывода необходимой информации в текстовые поля приложения. Добавьте обработку ошибок, связанных с некорректным вводом данных пользователем.
Приложение готово к работе. Вводите названия городов (на русском или английском языке), и приложение будет отображать информацию о погоде. Приложение можно улучшать и расширять функциональность, используя возможности JavaFX.