Problème JPanel java

Résolu
Zyo1 Messages postés 83 Date d'inscription   Statut Membre Dernière intervention   -  
Zyo1 Messages postés 83 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai créé une classe qui hérite de JPanel, et je souhaite remplacer ce JPanel par un autre dans la même JFrame, j'ai codé ceci : removeAll();
add(new nomDeMonNouveauJPanel());
validate();

Et lorsque je fait ceci mon nouveau JPanel apparaît bien mais il ne prend tous l'espace de la JFrame :-/

Comment faire svp?


A voir également:

5 réponses

KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Est-ce que le JPanel que tu veux remplacer est le seul contenu de ta JFrame ?
Quel Layout as-tu utilisé ?
0
Zyo1 Messages postés 83 Date d'inscription   Statut Membre Dernière intervention  
 
J'utilise un GridLayout pour les deux JPanel et ma JFrame contient au départ uniquement le premier JPanel, puis je fait le code suivant dans une des méthodes de ce JPanel :
removeAll();
add(new nomDeMonNouveauJPanel());
validate();
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Ce removeAll tu devrais plutôt le faire dans la JFrame, pour enlever le premier JPanel, sinon tu l'as encore dans la JFrame quand tu ajoutes le deuxième...
0
Zyo1 Messages postés 83 Date d'inscription   Statut Membre Dernière intervention  
 
J'ai essayé mais cela ne fonctionne pas :-/ , j'utilise l'architecture MVC donc j'ai fait un removeAll dans le controleur qui hérite de JFrame mais il ne fait rien. Et je précise que lorsque je fait un removeAll() + validate() unique dans le JPanel celui-ci est bien supprimer,mais j'ai juste un problème de tailler avec le nouveau JPanel
Aurais tu une autre idée ?
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Tu n'as pas dis ce que tu utilisais comme Layout sur la JFrame, il faudrait peut-être le réactualiser.
Mais personnellement, si tu as juste un JPanel à afficher, je créerai directement une nouvelle JFrame...
0
Zyo1 Messages postés 83 Date d'inscription   Statut Membre Dernière intervention  
 
Je n'utilise pas de layout pour la jframe :/
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Par défaut c'est un BorderLayout qui est utilisé, tu devrais donc essayer de faire un setLayout(new BorderLayout()) entre le removeAll et le add(new nomDeMonNouveauJPanel());
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Zyo1 Messages postés 83 Date d'inscription   Statut Membre Dernière intervention  
 
Exactement ! Sa marche !
Merci beaucoup ;-)
0