JBUTTON PERSONNALISÉS

Signaler
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
-
Messages postés
6413
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/51931-jbutton-personnalises

Messages postés
6413
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
293
Voilà, j'ai suivi tes conseils et j'ai ajouté la classe FlecheUI. Je ne l'ai fait que pour celle-ci, pour les autres, le travail est identique. Je vais conserver les classes qui surchargent JButton afin qu'elle soient plus facilement utilisables par les débutants.

Néanmoins, je suis persuadé que la surcharge des fonctions de BasicButtonUI est plus intéressante que celle de JButton.

Merci de m'avoir fait connaitre ces classes.
Messages postés
5350
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
29 juin 2020
96
Salut,

il y a beaucoup d'avantages avec cette solution notamment le fait que tu n'auras pas besoin d'ajouter des listeners sur le bouton pour gérer les changements d'états.
Regarde le code source de la classe BasicButtonUI pour te faire une idée complète; utilise bien BasicButtonUI et non la classe parente (ou interface je sais plus), si tu veux bénéficier des méthodes utilitaires et ainsi éviter de gérer le paint text/html du composant,t son positionnement, etc
Messages postés
6413
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
293
Pourquoi je n'ai pas fait ca ? La réponse est simple, je ne connais pas du tout ces méthodes. Je me renseignerai et je ferai une mise à jour du code quand j'aurai un moment.

Merci pour ce commentaire.
Messages postés
5350
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
29 juin 2020
96
Salut,

Pourquoi tu n'utilises pas plutôt une surcharge de la classe javax.swing.plaf.basic.BasicButtonUI ? Ce qui permet à l'utilisateur de préserver la classe JButton et allègerai grandement un code niveau gestion des instances... ainsi tu pourrais simplement faire :
JButton button = ...;
button.setUI(new MyButtonUI()); // MyButtonUI correspondrait au nouveau LaF du bouton.

Ça permet également d'éviter à l'utilisateur de trainer une chiée de classes JButton surchargée...
Afficher les 6 commentaires