OVH Cloud OVH Cloud

GridBagLayout : Taille fixe?

3 réponses
Avatar
vclassine
Bonjour,

J'arrive à organiser correctement les composants à l'aide du
GridBagLayout, par contre lorsque je redimensionne le panel qui les
contient ils restent au milieu de la page... J'aurais souhaité avoir
un effet un peu comme le BorderLayout.

J'ai essayé de mettre une preferredSize = à la maximumSize
(32k/32k) sur le composant de taille variable pour que l'ensemble
occupe le maximum d'espace sur le panel. Lorsque je lance l'appli
c'est bon. Le problème c'est que dès que je réduit un peu le panel en
question on revient à un jeu de composants à leur taille minimale
perdus au milieu du panel.

Si quelqu'un à une idée, merci.

A+

Vincent

3 réponses

Avatar
vclassine
Juste une précision, mon problème est situé dans un composant (bean)
custom basé sur un JPanel.
Avatar
Jc Sirot
Vincent wrote:
Bonjour,

J'arrive à organiser correctement les composants à l'aide du
GridBagLayout, par contre lorsque je redimensionne le panel qui les
contient ils restent au milieu de la page... J'aurais souhaité avoir
un effet un peu comme le BorderLayout.

J'ai essayé de mettre une preferredSize = à la maximumSize
(32k/32k) sur le composant de taille variable pour que l'ensemble
occupe le maximum d'espace sur le panel. Lorsque je lance l'appli
c'est bon. Le problème c'est que dès que je réduit un peu le panel en
question on revient à un jeu de composants à leur taille minimale
perdus au milieu du panel.

Si quelqu'un à une idée, merci.

A+

Vincent


Tu peux essayer ceci :

public Dimension getPreferredSize()
{
return getParent() != null ? getParent().getPreferredSize() :
super.getPreferredSize();
}

de cette façon ton composant aura toujours la même taille que son
Container, dans la mesure ou ton layout utilise getPreferredSize (ce qui
est le cas du GridBagLayout).

--

Cordialement
-- JC Sirot

Avatar
vclassine
Jc Sirot wrote in message news:<bk94mh$1bua$...

Tu peux essayer ceci :

public Dimension getPreferredSize()
{
return getParent() != null ? getParent().getPreferredSize() :
super.getPreferredSize();
}

de cette façon ton composant aura toujours la même taille que son
Container, dans la mesure ou ton layout utilise getPreferredSize (ce qui
est le cas du GridBagLayout).


Ok Merci, je vais essayer ça...