# Java > Interfaces Graphiques en Java > AWT/Swing >  Ajouter une icne sur jbutton

## ulysse031

salut

je veux ajouter devant le text de bouton une icone mais le positionnement n'est pas juste car l'image et le text sont centrs
http://www.servimg.com/image_preview.php?i=9&u=11546812



```

```

----------


## gifffftane

Sur le tutorial java,  How to Use Buttons, Check Boxes, and Radio Buttons, au paragraphe _How to Use the Common Button API_, tu verras un exemple o l'on voit les icones et textes placs en diffrentes postures les uns par rapport aux autres. Avec un peu de chance tu trouveras la tienne  partir de l.

----------


## ulysse031

merci pour le lien mais je ne chercher pas de centrer icone et le text sur le bouton, vous voyez qu'il y a un espace une marge  gauche  ,je veux que l'image et le texte prends l'espcae de bouton

----------


## gifffftane

Ah ! Tu veux supprimer les bords externes, c'est a ?...

Mais je pense qu'ils ne viennent pas du JButton, mais de son container, qui ne se met pas  la taille du contenu ; quel layout utilises-tu pour lui ?

----------


## bassim

> merci pour le lien mais je ne chercher pas de centrer icone et le text sur le bouton, vous voyez qu'il y a un espace une marge  gauche ,je veux que l'image et le texte prends l'espcae de bouton


bonjour,
t'as la mthode *setMargin(Insets)* qui te permet de dfinir le nombre de pixels entre les bords et le contenu.

t'as aussi la mthode *setIconTextGap(int)* qui dfinit un espace entre l'icne et le texte

----------


## ulysse031

j'utilise setLayout(null) 
est ce que vous avez une ide car j'ai toujours espace entre bordure  gauche et l'icone  ::cry::

----------


## gifffftane

Je verrais plutt un _setLayout(new BorderLayout())_ en mettant ton bouton au centre.  ce placement, le composant occupe tout l'espace disponible dans son conteneur. Et puis aussi rgle la taille de ton conteneur  la taille dsire pour le bouton.

----------


## ulysse031

> Je verrais plutt un _setLayout(new BorderLayout())_ en mettant ton bouton au centre.  ce placement, le composant occupe tout l'espace disponible dans son conteneur. Et puis aussi rgle la taille de ton conteneur  la taille dsire pour le bouton.


mais j'util:ise setlayout(null); est ce que il y a un moyen pour rgler le problme

----------


## gifffftane

```
button.setBounds(0, 0, container.getWidth(), container.getHeight());
```

ou bien :


```
container.setSize(button.getSize());
```

...  caler sur un ComponentListener.

----------


## ulysse031

> ```
> button.setBounds(0, 0, container.getWidth(), container.getHeight());
> ```
> 
> ou bien :
> 
> 
> ```
> container.setSize(button.getSize());
> ...




dsol je ne sais pas quoi faire pour rsoudre ce problme 
voila le code 


```

```

----------


## gifffftane

C'est  dire que je ne vois pas ce que tu veux faire, particulirement  la lecture de ton code.

 partir du moment o, pour la JFrame, tu cris _this.setSize(850,720)_ et, pour le bouton, tu cris _ok.setBounds(120 ,560 ,120,20 )_, comment veux-tu qu'il n'y ait pas de bord entre le bouton et la JFrame ???

----------

