Arrondir UN bouton [Résolu]

cs_redbar 114 Messages postés mardi 26 janvier 2010Date d'inscription 26 mai 2014 Dernière intervention - 28 avril 2011 à 16:38 - Dernière réponse : cs_redbar 114 Messages postés mardi 26 janvier 2010Date d'inscription 26 mai 2014 Dernière intervention
- 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 

5 réponses

Répondre au sujet
cs_jojolemariole 519 Messages postés mercredi 21 mars 2007Date d'inscription 19 décembre 2016 Dernière intervention - 28 avril 2011 à 17:43
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_jojolemariole
cs_jojolemariole 519 Messages postés mercredi 21 mars 2007Date d'inscription 19 décembre 2016 Dernière intervention - 28 avril 2011 à 17:38
0
Utile
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
cs_redbar 114 Messages postés mardi 26 janvier 2010Date d'inscription 26 mai 2014 Dernière intervention - 29 avril 2011 à 11:27
0
Utile
Bonjour jojolemariole
merci pour ces piste de solution.
j'essaie et je t'informe du resultat
Commenter la réponse de cs_redbar
cs_Julien39 6449 Messages postés mardi 8 mars 2005Date d'inscription 15 mars 2018 Dernière intervention - 29 avril 2011 à 18:26
0
Utile
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
cs_redbar 114 Messages postés mardi 26 janvier 2010Date d'inscription 26 mai 2014 Dernière intervention - 4 mai 2011 à 18:10
0
Utile
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.