Bordure de bouton bicolore

Résolu
Signaler
Messages postés
54
Date d'inscription
dimanche 27 février 2005
Statut
Membre
Dernière intervention
21 juin 2007
-
Messages postés
54
Date d'inscription
dimanche 27 février 2005
Statut
Membre
Dernière intervention
21 juin 2007
-
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

Messages postés
5365
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
12 août 2021
111
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
Messages postés
54
Date d'inscription
dimanche 27 février 2005
Statut
Membre
Dernière intervention
21 juin 2007
1
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 ...