Est-il possible de faire des bordures arrondies sur un bouton par exemple en Java ??
Je n'ai pas trouvé de fonction convenable dans le BorderFactory.
Quelqu'un a une idée ???
Est-il possible de faire des bordures arrondies sur un bouton par exemple en Java ??
Je n'ai pas trouvé de fonction convenable dans le BorderFactory.
Quelqu'un a une idée ???
Tu peux utiliser un autre LnF.
Exemple : http://www.jgoodies.com/freeware/looks/index.html
Sinon il faudrait que tu te fasses ton propre ButtonUI pour dessiner le bouton toi-même.
ta méthode marche surement très bien, mais je travaille sous linux et ton prog ne fonctionne pas sur mon OS.
Mais j'ai presque réussi a faire mon bouton en passant par un BasicButtonUI, meme si j'ai encore quelques bugs a corriger.
Merci quand meme ...
pour ceux que ca intéresse, voici un bout de code qui marche a peu près :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 private class ButtonToolBarUI extends BasicButtonUI { public ButtonToolBarUI() { super(); } // on repeint le composant public void paint(Graphics g, JComponent c) { g.setColor(Color.white); g.fillRoundRect(0, 0, getWidth(), getHeight(), 15, 15); g.setColor(Color.lightGray); g.drawRoundRect(0, 0, getWidth(), getHeight(), 15, 15); super.paint(g, c); } // on repeint le composant quand il est sélectionné private Color selectedColor = new Color(173, 208, 248); protected void paintButtonPressed(Graphics g, AbstractButton b) { if (b.isContentAreaFilled()) { g.setColor(selectedColor); g.fillRoundRect(0, 0, getWidth(), getHeight(), 15, 15); g.setColor(Color.lightGray); g.drawRoundRect(0, 0, getWidth(), getHeight(), 15, 15); } super.paintButtonPressed(g, b); } }
C'est une librairie java multi-plateforme. Ca marche bien sous Linux également !Envoyé par barbiche
Partager