Bonjour,
Pour une petite interface, j'ai besoin de recréer un système de gestion de calques un peu à la photoshop. C'est à dire que lorsque je crée un nouveau calque, une nouvelle ligne se rajoute dans mon gestionnaire de calques (me permettant de le sélectionner, l'afficher, le supprimer...)
C'est pour ce gestionnaire de claques que j'ai besoin d'un coup de main.
Je voudrais que mes calques (des JPanel composés de divers élements mais cela n'a pas d'importance) s'ajoutent les uns en dessous des autres dans un JPanel dont la taille serait fixe et donc qu'au bout d'un moment, lorsque le JPanel serait rempli, une barre de scroll apparaisse pour naviguer verticalement dans le gestionnaire de calque (exactement comme dans photoshop)
Pour cela, j'ai placé mon JPanel dans un JScrollPane.
Et là je me heurte à la rigidité des classes que j'utilise :
- Soit je fixe la taille du JPanel (SetPreferredSize) qui se trouve dans le JScrollPane et le scroll ne se fait pas (même résultat que s'il n'y avait pas de JScrollPane donc).
- Soit je ne fixe pas la taille du JPanel et les calques se mettent en ligne (du à mon FlowLayout), le JPanel qui s'étirant horizontalement
L'idéal serait de pouvoir fixer uniquement la largeur de mon JPanel pour forcer les calques à se mettre les uns en dessous des autres tout en laissant libre la hauteur pour permettre le scroll, mais cela semble impossible. Soit on fixe les deux tailles, soit aucune.
Suis-je clair ? Voyez vous un moyen de réaliser cela ?
Ce que je cherche à faire paraît très classique, ajouter des éléments les uns en dessous des autres dans une petite fenêtre de hauteur fixe et scroller lorsque les éléments dépassent en bas.
J'ai du passer à côté de quelque chose.
Merci d'avance pour votre aide
Partager