Pour un JPanel tu prends la classe BasicPanelUI et tu redefini les méthodes :
@Override
protected void installDefaults(JPanel p) {
p.setOpaque(false);
}
@Override
public void paint(Graphics g, JComponent c) {
// On passe en Graphics2D pour lissage
Graphics2D g2d = (Graphics2D) g;
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);
g2d.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
....
}
De même pour les autres composants. Ensuite tu appliques cet UI sur le JPanel par :
jPanelTest.setUI(new XXXPanelUI());