Bonjour,
j'ai des probleme avec les layout de mes container...je m'explique
J'ai crée une classe qui dessine une fentre principale :
public
class ecran extends JFrame implements ActionListener{
public JPanel container = null; //container principalprivate JPanel containerM = null;//Déclaration de l'objet JPanelprivate GridLayout layout = null ;//Déclaration du layoutprivate GridLayout layoutP = null;//Déclaration du layout principalprivate menu Menu = new menu();public ecran(){
super();build();
}
privatevoid build(){
this.setTitle("Ma bibliothèque numérique"); //On donne un titre à l'applicationthis.setSize(800,600); //On donne une taille à notre fenêtrethis.setLocationRelativeTo(null); //On centre la fenêtre sur l'écranthis.setResizable(false) ; //On interdit la redimensionnement de la fenêtrethis.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //On dit à l'application de se fermer//lors du clic sur la croix//On lui spécifie un container principalthis.setContentPane(getContainerM());}
private JPanel getContainerM() //container du menu{
layoutP = new GridLayout(20,0);layout = new GridLayout(); //Instanciation du layout// layout.setAlignment(FlowLayout.LEFT);//On centre les composantscontainer = new JPanel() ; //On crée notre objetcontainer.setLayout(layoutP); //On applique le layoutcontainerM = new JPanel() ; //On crée notre objetcontainerM.setLayout(layout); //On applique le layoutcontainerM.add(Menu.menuBar); container.add(containerM);returncontainer ;}
vous remarquerez que ma frame contien 2 panel, 1 principal et 1 qui affiche mon menu
Ce menu est crée dans une autre classe
Jusque la pas de probleme, mon menu s'affiche correctement
De ce menu, j'aimerais pouvoir ajouter un 2eme container dansmon contenair principal
Pour cela j'instancie une classe qui crée ma "sousfenetre" a partir de l'evenement clik du menu
Puis j'ajoute les element crée dans mon contenair principal :
....code du menu()
elseif (e.getActionCommand().equals(ACTION_AJOUT)) {
f_ajout fen_ajout =
new f_ajout();fen_ajout.build();
System.
out.println("Ajout");
code de la classe f_ajout :
public
class f_ajout extends JFrame implements ActionListener{private JPanel containerP = null;//affiche les ecrans a partir du menuprivate GridLayout layout = null ;//Déclaration de notre layoutpublicvoid build(){
main.
ecran.container.add(getContainerP());containerP.setVisible(true);}
private JPanel getContainerP() //container du menu{
JLabel texte =
null;layout = new GridLayout(20,0); //Instanciation du layout//layout.setAlignment(FlowLayout.RIGHT);//On centre les composantscontainerP = new JPanel() ; //On crée notre objetcontainerP.setLayout(layout); //On applique le layouttexte =
new JLabel() ;//On crée notre objettexte.setPreferredSize(
new Dimension(250,25)) ;//On lui donne une tailletexte.setText(
"vshdvcsdfjvhysfvbhkfbvdfhbvhsdfbvhfksvbsdfhkvfhkdbvhkdfbvhkdfAjout");containerP.add(texte);returncontainerP ;}
Je n'ai pas d'erreur à l'execution mais apres avoir cliquer sur ajout, rien ne s'affiche
Peut etre cela vient il de mes gridlayout...je sais pas trop
Si qqun a une idée....
Merci