Можно создать собственный PLAF, используя встроенный Synth Look-and-Feel. По сути, это PLAF, который позволяет вам настраивать внешний вид всех компонентов (или только определенных через именование компонентов) через файл конфигурации XML. [javax.swing.plaf.synth][1]
пакет JavaDoc дает хороший обзор того, что возможно, и есть дополнительная документация, связанная с JavaDocs для использования этого PLAF.
Я уже использовал это в своих собственных проектах, и с ним очень легко работать. Вы можете использовать свои собственные графические изображения для всех компонентов и настраивать практически все, что вам нужно, без необходимости проходить через все это громоздкое пользовательское кодирование, которое раньше требовалось для создания PLAF