Salut,
Le setSize() est totalement inutile puisque le composant est redimensionné par le layout, et que le layout des JToolBar étend le composant au maximum...
setSize() n'est utile qu'avec le null-layout (ce que je ne conseille pas trop) ou dans des cas particulier où le composant n'est pas affiché (par exemple si on veut dessiner le composant sur une image).
Donc lorsqu'on utilise un layout, on peut agir sur 3 éléments :
- setPreferredSize(), la taille préféré du composant, qui correspond généralement à la taille la plus petite dans laquelle le composant est totalement visible.
- setMinimumSize(), qui correspond à la taille minimum en dessous laquelle le composant ne devrait pas être affiché, sous peine d'un mauvais rendu.
- setMaximumSize(), la taille maximum conseillé pour le composant.
Toutefois selon les layouts ces trois valeurs ne sont pas toujours toute prise en compte...
Le layout de la JToolBar offre le maximum de place aux composants, en respectant la taille maximum. Comme les JButton définissent une taille maximum très petite, ils sont affiché dans leurs tailles normales.
Par contre les JTextfield ont une taille maximal très grande, et ils sont donc étendus...
Il faut agir sur le setMaximumSize() :
text.setMaximumSize(new Dimension(10,4));
a++
Partager