Yop;
Bon bhein je pige toujours pas ... a premiere vue cette histoire de layout en java c est un truc qui me dépasse ...![]()
Yop;
Bon bhein je pige toujours pas ... a premiere vue cette histoire de layout en java c est un truc qui me dépasse ...![]()
Je vais essayer de t'expliquer le Layout alors![]()
Pour faire une interface, l'idée est de mettre des composants (JComponent) dans composant englobant (Container), je pense que c'est acquis.
Les JComponent étant aussi des Container, on peut imbriquer autant que l'on veut.
Quand on dit à un Container de s'afficher à l'écran, il se dessine puis dit aux composants qu'ils contient de s'afficher à leur tour (et ainsi de suite).
Pour s'afficher, un composant utilise sa taille (celle retournée par getSize()) et sa position (accessible par getLocation()) dans son Container.
Donc si tu a un Layout null, tu fais la mise en page en utilisant setSize() et setLocation().
Si le Container possède un Layout, celui-ci prend en charge le redimensionnement et repositionnement des composants du Container auquel il est rataché.
Il est donc appelé au moment où le Container est dessiné, avant que les composants ne se dessinent.
Le Layout fait donc des appels à setLocation() et setSize() sur chacun des composants. Le layout utilise les propriétés du Container (taille) et des composants (preferredSize/minimumSize/maximumSize/containtes).
C'est pour cela que l'appel de setSize et setLocation sur les composants d'un Container possédant un Layout sont inutiles.
C'est le layout qui définit la logique de positionnement, à partir des 'préférences' que l'utilisateur peut lui passer.
Est-ce plus clair?
Effectivement plus clair. Je vois pour l'autre probleme (la ligne) et je me replonge dans ce truc
Merci mon cher Deaf
Partager