Ved godt det er et gammel emne efterhånden, men i tilfælde af der stadig er nogle der følger spørgsmålet er der altså en anden mulighed for at ændre sit design radikalt.
Foruden de normale look and feel´s der kan sættes, er det også muligt at lave sit helt eget, dette kaldes Synth Look And Feel og sættes således:
SynthLookAndFeel laf = new SynthLookAndFeel();
laf.load(myClass.class.getResourceAsStream("path_to_LAF.xml"), myClass.class);
UIManager.setLookAndFeel(laf);
Synth LAF resetter ALLE komponenter, og giver dig mulighed for at definere alt omkring en enkelt komponent via en relativt simpel xml fil.
Dette er efter min mening meget nemmere at håndtere end at skrive sine egne paintComponent().
Både Windows og Nimbus LAF er oprindeligt bygget således, og senere adopteret af Java
Der findes nogle få guides til at komme igang rundt omkring på nettet, denne her giver et okay indblik i hvordan det hele hænger sammen:
http://docs.oracle.com/javase/tutorial/uiswing/lookandfeel/synth.html