Bonjour à tous!

J'ai une question, peut être bête, mais impossible de m'en sortir correctement, alors désolé d'avance

Voilà, j'ai fait des boutons (extends JButton) pour une application tactile et je dois afficher des images avec des textes à l'intérieur de ceux-ci, par exemple : Nom : 1 ok.jpg
Affichages : 170
Taille : 21,7 Ko

Avec celui-ci ça va bien parce que mon image fait la taille de la place qui lui est attribuée (80 px), mais si mets une image moins large, elle s'aligne à gauche et impossible de changer ça, voilà ce que ça donne : Nom : 2 nok.jpg
Affichages : 170
Taille : 18,4 Ko

Le résultat final est que les images ne sont pas alignées correctement, et mon chef trouve ça moche Nom : 3.jpg
Affichages : 164
Taille : 39,6 Ko

J'ai tout essayé ce que je connais ou ce que je pouvais trouver, mais rien ne me donne un résultat satisfaisant.

Mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
public ArticlePLUButton(final DAOArticle article){
	super();
 
	setFont(new Font("Dialog", 0, 14));
	setPreferredSize(new Dimension(328, 86));
 
	String path = Constantes.PATH_IMAGES_PLU + article.getImagePathPLU();
 
	//taille max de 80, cette méthode me redimensionne l'image avec une largeur ou une hauteur de 80 px maximum
	ImageIcon icn = ImagePluController.getImagePLU(path, 80);
 
	setIcon(icn);
 
	int marge = 80 - icn.getIconWidth();
	setIconTextGap(marge);
 
 
	String affichage = "<html>....</html>";
 
	setText(affichage);
	repaint();
}
J'ai essayé aussi ça mais ça ne fait rien, l'inset n'est pas pris en compte??

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
int marge = (80 - icn.getIconWidth()) / 2;
setIconTextGap(marge);
setMargin(new Insets(0, marge, 0, 0));
Quelqu'un aurait une idée par hasard? Ca fait 2 jours que je m'arrache les cheveux avec ça!

Merci d'avance à tous ceux qui prendront le temps d'essayer de m'aider