Если это так просто, как просто изменить шрифт, фон, границы и т. Д. Swing может сделать все это по умолчанию. То есть для кнопки JButton:
JButton aButton ...
aButton.setBackground(new Color(...));
aButton.setForeground(new Color(...));
aButton.setFont(new Font(...));
aButton.setBorder(null);
Посмотрите на большинство этих методов на JComponent . Или, для более специфичных для компонента методов, в javadoc компонента.
Я бы порекомендовал вам прочитать некоторые основы в Учебное пособие по Java или JComponent API или даже книгу, например Filthy Rich Clients или Java HowTo Program .
Настраиваемый внешний вид был бы слишком большим. Я предлагаю сначала посмотреть, не соответствуют ли вышеуказанные решения вашим потребностям, а затем пойти на это.