Bordure de bouton bicolore

Résolu
Taranael Messages postés 54 Date d'inscription dimanche 27 février 2005 Statut Membre Dernière intervention 21 juin 2007 - 23 sept. 2006 à 16:45
Taranael Messages postés 54 Date d'inscription dimanche 27 février 2005 Statut Membre Dernière intervention 21 juin 2007 - 23 sept. 2006 à 18:05
Salut ! Voilà mon soucis j'ai un JPanel avec un GridLayout rempli de JButtons pour implémenter un jeu de plateau. J'ai deux types d'affichages : un damier bicolore et un de type goban ! Pour le type goban je peinds le fond d'une couleur et je dessine manuellement une croix d'une autre couleur dessus ... sauf qu'entre deux boutons j'ai une bordure bleue ... Alors je l'ai repeinte dans la couleur de fond mais du coup maintenant mes lignes sont coupées au niveau du changement de bouton ... J'espère que c'est clair !
Il existe une façon simple que ma LineBorder soit de la couleur du fond sauf au niveau des lignes de mes boutons ? Sinon faut que je réécrive paintBorder ? Parce que je sais pas trop comment m'y prendre avec cette méthode :(

L'ordinateur fait toujours ce qu'on lui demande !
Le problème c'est qu'il ne comprend pas ce qu'on lui demande ...

2 réponses

Twinuts Messages postés 5373 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 10 août 2022 110
23 sept. 2006 à 17:23
Salut,

j'ai vraiment pas tout compris mais si la bordure du rollover(je suppose) te derrange devalide la exemple
JButton bt = new JButton("my button");
bt.setForeground(Color.BLUE);
bt.setBackground(Color.BLACK);
bt.setFocusPainted(false);
bt.setMargin(null);           
bt.setBorder(BorderFactory.createEmptyBorder());
//bt.setContentAreaFilled(false);//si tu le decommente tu n'auras pas acces à la methode setBackground

sinon deux autres solutions:
    1 - tu refais toi meme la bordure en redefinissant AbstractBorder (peut etre viable)
    2 - tu refais l'ui du boutton en redefinissant BasicButtonUI ce qui te permet d'avoir ton comportement graphique

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

WORA
3
Taranael Messages postés 54 Date d'inscription dimanche 27 février 2005 Statut Membre Dernière intervention 21 juin 2007 1
23 sept. 2006 à 18:05
En fait je pensais que la partie bleue que je voyais était le panel du dessous ... donc j'ai juste eu à faire setBorder(BorderFactory.createEmptyBorder()) et du coup mes boutons se touchaient ... problème résolu :D

L'ordinateur fait toujours ce qu'on lui demande !
Le problème c'est qu'il ne comprend pas ce qu'on lui demande ...
0