You can create a custom PLAF using the built-in Synth Look-and-Feel. This is basically PLAF, which allows you to customize the appearance of all components (or only specific by component names) through an XML configuration file. The package [javax.swing.plaf.synth][1] JavaDoc gives a good overview of what is possible, and there is additional documentation associated with JavaDocs for using this PLAF.
I have used this in my projects before, and it is very easy to work with it. You can use your own graphics for all components and you can customize almost anything without having to go through all this cumbersome user coding, which was necessary to create PLAF
source share