[JAVA] JPanel et pack()

Résolu/Fermé
Johan - 5 juin 2007 à 13:05
 silam - 31 oct. 2010 à 11:39
Salut à tous!

Je fais actuellement un programme java avec plusieurs JPanel dans un container. Je dois imposer une taille à un de ceux-ci (il contient une image et je veux lui conserver sa taille) et j'utilise la méthode pack(). Seulement, en faisant ceci, tous mes JPanel prennent les dimensions de celui contenant l'image même si j'impose un preferredSize aux autres. Que dois-je faire pour régler le problème?

Merci d'avance!

Johan.
A voir également:

3 réponses

Salut j'avoue je ne comprends pas bien ta question mais je vais essayer de t'aider.
Je ne sais pas si tu connais la class javax.swing.JLayeredPane;
mais cette class fonctionne exactement comme un JPanel donc le mieux pour toi c'est créer plusieurs JPanel mais mais utiliser cette class JLayeredPane comme ton panneau principal.
Les avantages que donnent cette class c'est qu'elle te permet de superposer des panneaux des Label en les posant sur des couches en definissant meme la position que tu souhaites les voir.
Je te donne un petit exemple:
JLayeredPane lp;
JPanel panel;
lp=new JLayeredPane();
lp.setPreferredSize(new Dimension(800,600));
panel=new JPanel();//à completer selon besoin
panel.setBounds(100,50,200,200);//ceci positionne ton panneau de longueur 200*200 à la position (x,y)=(100,50)
lp.add(label,new Integer(0));//Ici on met le panel sur la couche 0 si on veux superposer avec un autre panel il suffit de faire
lp.add(panel1,new Integer(1));
et un petit getContentPane().add(lp); pour ajouter ton Layer.
Bon caourage si tu arrives pas fais moi signe.
getContentPane.add(lp);
8
Salut ray-J, je me suis un peu mal exprimé en effet... Mais ta solution a résolu mon problème et je t'en remercie!

@+

Johan.
3
Salut Johan je suis content de repondre à ta question si tu as d'autres questions il ya pas de soucis.mais oublies de mettre le probleme comme resolu sur le forum ca peux aider d'autres personnes.
0
Bravo Johan et Merci beaucoup pour ta solution. J'avais le même problème et grâce à ta réponse j'ai pu le résoudre. Merci !
0
Salut ray-J
ta solution est impressionnante
cette classe n 'est pas très connue
MERCI
0
merci pour la solution
God bless you
2