Bonjour à tous,

Dans un JScrollPane, je souhaite afficher une série de bandeaux horizontaux (JPanels comprenant divers éléments), ajoutés par programmation et dont je ne connais pas à l'avance le nombre.

Ils occupent toute la largeur du ScrollPane.
Et leur hauteur DOIT varier en fonction de leur contenu.
Il peut donc très bien rester une partie vide sous la liste, tout comme au contraire exiger l'activation et l'utilisation de l'ascenseur.

Pour l'instant, j'utilise un BoxLayout en Y_AXIS.
En largeur, ça va.

Par contre, en hauteur, c'est la cata : il ajuste la hauteur des bandeaux en fonction de la hauteur du JScrollPane, ce qui revient soit à les distendre exagérément, soit au contraire à les couper en partie.

Pire encore : la hauteur des éléments qui se trouvent dans le bandeau sont eux-mêmes ajustés à la hauteur du bandeau. Résultat : des textArea quasi vide, et des comboBox mahouse, c'est franchement pas beau.

Comment faire pour ajuster la hauteur d'un composant en fonction de la hauteur préférée de son contenu, et non de son contenant ?
J'ai tout essayé, et j'ai vu des trucs comme setPreferredSize(getPreferredSize()), mais sans succès.

Merci de votre aide,

P.S. : Pour ceux qui connaissent, je souhaite reproduire la "ZoneRépétée" que l'on trouve dans Windev/Webdev.