Arrondir UN bouton [Résolu]

Messages postés
114
Date d'inscription
mardi 26 janvier 2010
Dernière intervention
26 mai 2014
- - Dernière réponse : cs_redbar
Messages postés
114
Date d'inscription
mardi 26 janvier 2010
Dernière intervention
26 mai 2014
- 4 mai 2011 à 18:10
Bonjour à tous
S'il vous plait, j'ai besoin d'aide.
Je voudrais améliorer mes IHM avec des bouton arrondis aux bord vue que en java les bouton on des bords à angle droit mais je ne sais pas comment y arriver.
Pouvez-vous m'aider à avoir une source qui pourra m'aider ou comment faire quelle fonction utiliser.
merci
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
Messages postés
519
Date d'inscription
mercredi 21 mars 2007
Dernière intervention
19 décembre 2016
3
Merci
Je viens de me rappeler que j'avais posté une source avec un bouton paramétrable avec différentes icônes :

http://files.codes-sources.com/fichier.aspx?id=51875&f=conway%2fpresentation%2fBoutonLecteur.java

le projet en entier qui contient les icônes :
http://www.javafr.com/codes/JEU-VIE_51875.aspx

Merci cs_jojolemariole 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 98 internautes ce mois-ci

Commenter la réponse de cs_jojolemariole
Messages postés
519
Date d'inscription
mercredi 21 mars 2007
Dernière intervention
19 décembre 2016
0
Merci
Salut,

Avec le LookAndFeel Nimbus (disponible par défaut à partir de Java 1.6 si je ne m'abuse), les boutons sont légèrement arrondis.

Ci-dessous une fonction utile qui permet de changer le LookAndFeel :

/**
 * Tente d'appliquer un look and feel en le recherchant par son nom dans la
 * liste des look and feel installes.
 * 
 * Ne fait rien si le aucun des look and feel installes ne porte le nom
 * fourni.
 * 
 * @param nom
 *            nom du look and feel a appliquer
 * @throws UnsupportedLookAndFeelException
 * @throws IllegalAccessException
 * @throws InstantiationException
 * @throws ClassNotFoundException
 */
public static void setLookAndFeelParNom(String nom) throws ClassNotFoundException,
InstantiationException, IllegalAccessException, UnsupportedLookAndFeelException {

LookAndFeelInfo[] informationsLnf = UIManager.getInstalledLookAndFeels();

String nomLnf;

for (LookAndFeelInfo informationLnf : informationsLnf) {

nomLnf = informationLnf.getName();

if (nomLnf.equals(nom)) {

String classeLnf = informationLnf.getClassName();
UIManager.setLookAndFeel(classeLnf);
break;

}

}

}


Sinon tu crées une classe qui étend JButton et tu surcharges la méthode paintComponent en dessinant le bouton comme tu veux en tenant compte des différents états du bouton. Avec cette méthode, ça peut être utile de surcharger contains(x, y) pour que la zone "cliquable" corresponde au dessin.

Tu peux aussi indiquer les différentes icônes à utiliser en fonction de l'état :
setPressedIcon
setSelectedIcon
...
Tout en faisant disparaître le fond et le bord du bouton :
setFocusPainted(false)
setContentAreaFilled(false)
setBorderPainted(false)

Voilà déjà pas mal de pistes.

Cordialement,
Jonathan Guéhenneux
Commenter la réponse de cs_jojolemariole
Messages postés
114
Date d'inscription
mardi 26 janvier 2010
Dernière intervention
26 mai 2014
0
Merci
Bonjour jojolemariole
merci pour ces piste de solution.
j'essaie et je t'informe du resultat
Commenter la réponse de cs_redbar
Messages postés
6450
Date d'inscription
mardi 8 mars 2005
Dernière intervention
17 mai 2018
0
Merci
Tu peux jeter un oeil à ces sources qui te donneront entre autre des boutons ronds.

//Différents boutons (tutoriel)
http://www.javafr.com/codes/PERSONALISER-COMPOSANTS-SWING_51830.aspx

Un ensemble de boutons personalisés
http://www.javafr.com/codes/JBUTTON-PERSONNALISES_51931.aspx

(Si tu veux que ton bouton ne soit cliquable que sur la zone ronde, surcharge la méthode contains(int x, int y) dans ta classe qui étend bouton pour qu'elle retourne true lorsque tu es dans la partir cliquable)
Commenter la réponse de cs_Julien39
Messages postés
114
Date d'inscription
mardi 26 janvier 2010
Dernière intervention
26 mai 2014
0
Merci
Bonsoir

je viens de faire un premier bouton aux bord arrondir en ecrivant une classe qui etends JButton
merci JOJOLEMARIOLE

le Tuto que m'a indiquer julien39 n'est pas aussi mal
maintenant j'ai plusieurs source pour faire des bouton aux bords arrondi.

Merci beaucoup les gars
Commenter la réponse de cs_redbar

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.