[java] problème d'affichage de Panel

Fermé
Blue project - 7 févr. 2008 à 22:54
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 8 févr. 2008 à 00:04
Bonjour, voila j'essaye de faire une IHM assé correct mais la il m'affiche pas le Panel que je veut, en fait il m'affiche juste que le 1er Panel (sur 4 pour l'instant)

voila la class
// MonInterface.java

import java.awt.*;
import java.awt.BorderLayout;

class MonInterface extends Panel{
MenuGauche menuG;
MenuDroit menuD;

public MonInterface(){
this.setLayout (new BorderLayout());

menuD=new MenuDroit();
menuG=new MenuGauche(this);

this.add(menuG, BorderLayout.WEST);
this.add(menuD.getPanel(1), BorderLayout.EAST);
}

public void majMenuD(int id){
removeAll();
this.add(menuG, BorderLayout.WEST);
this.add(menuD.getPanel(id), BorderLayout.EAST);
}
}

et la class en question
// MenuDroit.java

import java.awt.*;

class MenuDroit implements ActionListener{
Panel p1, p2, p3, p4;

public MenuDroit(){

//panel 1
p1=new Panel();
p2.add(new Button("test"));

//panel 2
p2=new Panel();
p2.add(new Button("test1"));

//panel 3
p3=new Panel();
p3.add(new Button("test2"));

//panel 4
p4=new Panel();
p4.add(new Button("test4"));
}

public Panel getPanel(int num){
if(num==1) return p1;
if(num==2) return p2;
if(num==3) return p3;
if(num==4) return p4;
return null;
}


}

Pour le MenuGauche.java simple affichage statique avec événement mettant à jour MonInterface.java

Merci.

PS: me dite pas de créer un GridLayout et de jouer sur les setVisible(), sa déforme le tout et jamais au même endroit ...
A voir également:

1 réponse

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
8 févr. 2008 à 00:04
Salut,

Déjà, je vois des problèmes. Tu utilises Panel, alors que c'est mieux d'utiliser les JPanel. Ensuite tu utilises l'interface ActionListener, mais tu ne redéfinis pas actionPerformed. Corrige ceci, et poste ton code en entier, même MenuGauche.
Et enfin, lorsque tu postes un code, utilise le bouton de "conversation de code" situé à droite du bouton "souligner".

Cordialement
0