Создание сложного проекта в профессиональном стиле Практическое задание для новичков, чтобы закрепить основы Java: ООП, коллекции и т.д. (проект основан на Swing). РЕАЛИЗАЦИЯ СОБСТВЕННОГО MP3 ПЛЕЕРА. (Исходные коды обновлены: апрель 2019 г.)
Зачем нужно знать SWING?
Очень частый вопрос, который можно услышать от начинающих программистов.
Многие уверены, что на SWING не нужно тратить время, т.к. он скоро "вымрет" и т.д.
На самом деле любому начинающему программисту Java обязательно нужно знать хотя бы на среднем уровне как использовать библиотеки SWING.
Многие элементы архитектуры SWING (слушатели событий, паттерн MVC) используются в современных направлениях (JavaEE, веб программирование, Android и др.)
Практика для новичков
Чаще всего многие новички пытаются быстро перейти в сторону веб разработки, чтобы получить полноценную практику.
Но не у всех это получается, потому что нужно еще хорошо выучить саму веб разработку.
А это не так-то просто. Поэтому начинающие разработчики останавливаются на полпути.
Самый правильный вариант - попрактиковаться на простых приложениях, но не консольных, а графических.
Swing для этого подходит идеально, т.к. работать с ним довольно легко и основы можно понять за пару вечеров.
Вы можете получить необходимый опыт при минимальных требованиях.
К тому же создавать кнопочные приложения намного интереснее, чем просто консольные.
Поэтому советую вам в первую очередь попрактиковать ООП и закрепить синтаксис Java на примере MP3 плеера.
"Создание MP3 плеера на SWING"
Вы получите знания по основным моментам библиотеки SWING. Я поделюсь всеми своими рекомендациями при построении графических компонентов.
На практике начнем с простого калькулятора, а финальным заданием будет разработка MP3 плеера, который вы сможете дорабатывать в свое удовольствие после окончания тренинга.
Основные темы уроков
- Компоненты SWING
- Создание фреймов
- Концепция JavaBeans
- Контейнеры
- Скины (внешний вид программы)
- Подключение библиотек в свой проект
- Менеджеры расположения (layout managers)
- Слушатели событий (listeners)
- Адаптеры
- Jar файлы
- Разработка калькулятора
- Технология Java Web Start
- Дизайнер интерфейса в NetBeans
- Использование Java консоли для определения ошибок
- Апплеты
- Массивы
- Коллекции
- Работа с файловой системой
- Чтение и запись файлов
- Обработка исключительных ситуаций
- Архитектура Model-Viewer-Controller (MVC)
- Разработка собственного MP3 плеера
- Использование моделей компонентов
Отдельный блок: рефакторинг кода в ООП стиль
В начале вы создадите релизацию, которая "просто будет работать". Но чтобы реализовать код профессионально - вы выполните рефакторинг кода.
Т.е. измените внутреннюю реализацию, без изменения функционала.
Ваш код станет более ООП-шным и расширяемым.
Это очень важный навык - умение "причесать" и оптимизировать любой код.
Сериализация и работа с файловой системой
Для успешной реализации MP3 плеера вы также научитесь двум важным навыкам: сериализация объектов и работа с файлами.
Это нужно для того, чтобы работать с плейлистом, сохранять список песен в формате *.pls.
Затем сможете открывать этот файл и восстанавливать список mp3 файлов для прослушивания.
Основной функционал MP3 плеера.
- - добавление mp3 файлов
- - сохранение и открытие готового плейлиста
- - управление проигрыванием (стоп, пауза, перемотка, звук)
- - работа с плейлистом: добавление, удаление, перемещение
- - поиск композиций
и многое другое...
Среда разработки
Изначально уроки записаны с использованием IDE NetBeans. Но вы можете открывать их в любой IDE, т.к. это стандартный JavaSE. Нет привязки к фреймворкам или другим ресурсам. Понадобится только подключение jar-библиотек.
К тому же, в NetBeans самый удобный визуальный редактор для Swing.
IntelliJ IDEA
Проекты также можно открывать в IntelliJ IDEA. Можно использовать Community Edition (бесплатная версия). Отличия в от NetBeans - здесь менее удобный редактор Swing.