Веб-разработка вынуждает вас к определенному источнику и расположению ресурсов. Это не относится к приложениям Swing. Здесь вы можете использовать макет, который наилучшим образом соответствует вашим целям.
Вы будете намного продуктивнее, если будете использовать какую-то IDE. NetBeans - это идеальный выбор для Swing. NB дает вам некоторые ограничения на то, как хранить ваши классы. Существует папка «Исходные пакеты», которая содержит Java-пакеты и «Тестовые пакеты» для соответствующих тестовых классов JUnit, если вы используете JUnit, что я настоятельно рекомендую вам сделать.
В случае, если вы используете Hibernate, вы должны придерживаться его соглашений, создать файл what.entity и what.util, а XML-файлы конфигурации должны быть в «пакете по умолчанию».
Любая дальнейшая организация этих пакетов зависит от программиста. Я делаю пакет с JFrame, который управляет всем шоу. И пакет для каждой логической единицы. Иногда я использую пакет для AbstractTableModels и держу их вместе, а другой - для ComboBoxModels. Не нужно делать более глубокие структуры. У вас может быть отдельный пакет для значков, которые вы можете использовать для своих кнопок, один для звуков и т. Д. Netbeans создает исполняемый файл JAR для вашего приложения, в который включены все необходимые файлы, включая необходимые библиотеки JAR.
Вот вам маленький пример. Все названия пакетов, кроме «th», довольно очевидны. «th» - это имя этого приложения, и у меня есть JFrame, в котором размещено приложение. Это приложение использует iReport для генерации отчетов. Для этого предназначен пакет iReports.
![enter image description here](https://i.stack.imgur.com/dc3dD.png)
Книги описывают меньшие образцы и больше касаются соглашений Java.
Вы можете попробовать Apache Maven и посмотреть архитектуру, которую они предоставляют с архетипами приложения.