[UI Delegate] Comment appliquer un Ui a tous les composants ?
Bonjour,
J'ai crée une nouvelle classe de délégation :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
public class JMenuBarUi extends BasicMenuBarUI {
private GradientPaint gp;
public void paint(Graphics g, JComponent c) {
System.out.println("paint " + c);
Graphics2D g2d = (Graphics2D)g;
gp = new GradientPaint(0, c.getHeight(), new Color(24,75,164), 0, c.getHeight()/4, new Color(86,132,212) );
g2d.setPaint(gp);
g2d.fillRect(0, 0, c.getWidth(), c.getHeight());
g2d.setColor( new Color(248,177,6));
g2d.fillRect(0, c.getHeight()-2, c.getWidth(), c.getHeight()-2);
super.paint(g,c);
}
} |
Pour l'appliqer je fais comme ceci :
Code:
menuBar.setUI(new JMenuBarUi());
Jusque la tout va bien sauf que maintenant je veux faire le même pour les JMenuItem.
Suis-je obligé de toujours faire des setUi(..)
Ou y à t'il une autre méthode ?
J'avait vu sur le forum quelque-chose comme :
Code:
UIManager.getDefaults().put("nom_ui","nom_delegation")
Mais ça ne fonctionne pas..
Merci