Afficher une image à la taille d'un bouton

NeT0n Messages postés 28 Date d'inscription mardi 21 décembre 2004 Statut Membre Dernière intervention 5 mai 2009 - 17 avril 2006 à 19:24
NeT0n Messages postés 28 Date d'inscription mardi 21 décembre 2004 Statut Membre Dernière intervention 5 mai 2009 - 18 avril 2006 à 11:42
Bonjour,

J'aimerai savoir si il est possible de faire en sorte que l'image que l'on met sur un bouton prenne tout la place du bouton.

code du genre :

JButton buton = new JButton ();
buton.setIcon(monImage);

En fait le but c'est d'avoir toujours l'image en entier sur le bouton meme si le programme est lancé avec une résolution d'écran différente.

J'ai tenté le setBound mais ça n'a pa l'air de fonctionner..

Merci

8 réponses

bloofi Messages postés 388 Date d'inscription mercredi 1 octobre 2003 Statut Membre Dernière intervention 3 mai 2006 2
18 avril 2006 à 00:07
coucou,

je crois qu'en faisant un :
setContentAreaFilled(false);
ou / et un :
setBorderPainted(false);

tu peux avoir un bouton d'ont l'image occupe tout l'espace

je sais pu exactement comment :(
0
NeT0n Messages postés 28 Date d'inscription mardi 21 décembre 2004 Statut Membre Dernière intervention 5 mai 2009
18 avril 2006 à 09:18
j'ai essayer mais ça permet juste de définir les contours et la couleur du fond de l'écran en transparent ainsi on ne voit que l'image qu'on a mit sur le bouton
0
bloofi Messages postés 388 Date d'inscription mercredi 1 octobre 2003 Statut Membre Dernière intervention 3 mai 2006 2
18 avril 2006 à 10:59
oui, c'est pas c'que tu voulais ?

"J'aimerai savoir si il est possible de faire en sorte que l'image que l'on met sur un bouton prenne tout la place du bouton."
0
NeT0n Messages postés 28 Date d'inscription mardi 21 décembre 2004 Statut Membre Dernière intervention 5 mai 2009
18 avril 2006 à 11:17
Si mais lorsqu'on change la résolution de l'écran, l'image deviens plus grosse que le bouton, c'est ça que je voudrait eviter :)

j'ai trouvé quelque chose :
monButton.setIcon(new ImageIcon(imgmonButton.getImage().getScaledInstance(Math.round(imgmonButton.getIconWidth() / rapport), Math.round(imgmonButton.getIconHeight()/rapport),imgmonButton.getImage().SCALE_SMOOTH)));

le seul probleme avec ce code c'est que la variable "rapport" doit forcément etre un int, on ne peux donc pas avoir une dimension précise :(
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bloofi Messages postés 388 Date d'inscription mercredi 1 octobre 2003 Statut Membre Dernière intervention 3 mai 2006 2
18 avril 2006 à 11:24
ben en meme temps j'ai jamais vu une resolution d'ecran avec des virgules :/
0
NeT0n Messages postés 28 Date d'inscription mardi 21 décembre 2004 Statut Membre Dernière intervention 5 mai 2009
18 avril 2006 à 11:31
non heureusement lol
mais la taille de l'image ne sera pas à la taille de l'écran, c'est un rapport du genre 0.05*lScreen mais en int on perde la précision
0
bloofi Messages postés 388 Date d'inscription mercredi 1 octobre 2003 Statut Membre Dernière intervention 3 mai 2006 2
18 avril 2006 à 11:35
dans ce cas, tu peux faire tes operation en float et au moment de l'affichage tu cast en int
0
NeT0n Messages postés 28 Date d'inscription mardi 21 décembre 2004 Statut Membre Dernière intervention 5 mai 2009
18 avril 2006 à 11:42
ouép le probleme c'est que au moment de la conversion en int je perd trop de précision, du coup l'image est soit trop grande soit trop petite :/
mais bon je crois que je vais devoir faire avec :( ^^

~~NeT0n~~Se prononce [nétone]^^
0
Rejoignez-nous