lordankou  | bon voila j'essaie désespérement de construire une petite interface graphique mais au fur et à mesure que j'y pense et repense je mélange toutes les notions et je m'en sors pas du tout !
   bref je veux créer une fenetre avec trois jpanel qui vont chacun contenir une grille gridbaglayout et des contraintes GridBagConstraints pour le placement des objets.
 je veux que deux de mes jpanel soient contenu dans le premier.
 par ailleurs dans mon deuxième jpanel j'ai pour l'instant une barre d'outil et deux labels.
   j'ai donc pondu ça :    
  Code :
 - // importation de la class SWING
 - import javax.swing.* ;
 - import java.awt.*;
 - // CLASS console
 - public class CONSOLE extends JFrame{
 - 	// methode pour definir les constraintes
 -   void buildConstraints(GridBagConstraints Contrainte, int GridX, int GridY,int GridWidth, int Gridheight, double WeightX, double WeightY, int Fill, int Anchor, int IPadX, int IPadY){
 -   Contrainte.gridx = GridX; // coordonnees x de la cellule
 -   Contrainte.gridy = GridY; // coordonnees y de la cellule
 -   Contrainte.gridwidth = GridWidth; // nombre de cellule x
 -   Contrainte.gridheight = Gridheight; // nombre de cellule y
 -   Contrainte.weightx = WeightX ; // distribue l'espace suplementaire en x
 -   Contrainte.weighty = WeightY ; // distribue l'espace suplementaire en y
 -   Contrainte.fill = Fill ; // pour l'agrandissement du sous composant
 -   Contrainte.anchor = Anchor ; // position du sous composant qd espace autour de lui
 -   Contrainte.ipadx = IPadX ; // nombre de pixel x en plus de la taille min
 -   Contrainte.ipady = IPadY ; // nombre de pixel y en plus de la taille min
 - 	}
 - 	// methode creant une fenetre CONSOLE de base  
 - 	public CONSOLE(){
 -   // ---------------------------------
 -   // definition des parametre du cadre
 -   // ---------------------------------
 -   super("Console" ); // titre de la fenetre
 -   this.setSize(400,600); // taille de 100*600
 -   this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);
 -   // -------------------------------------------------------------------------------
 -   // creation des conteneur, de leur contraintes et de leurs grilles dans la console
 -   // -------------------------------------------------------------------------------
 -   // conteneur
 -   JPanel Conteneur = new JPanel(); // conteneur principal
 -   JPanel ConteneurInfo = new JPanel(); // conteneur pour les info
 -   JPanel ConteneurCouche = new JPanel(); // conteneur pour les couches
 -   //Contraintes
 -   GridBagConstraints ContrainteConteneur = new GridBagConstraints(); // contrainte principal
 -   GridBagConstraints ContrainteConteneurInfo = new GridBagConstraints(); // contrainte Info
 -   GridBagConstraints ContrainteConteneurCouche = new GridBagConstraints(); // contrainte Couche
 -   //Grille
 -   GridBagLayout GrilleConteneur = new GridBagLayout(); // Grille principal
 -   GridBagLayout GrilleConteneurInfo = new GridBagLayout(); // Grille info
 -   GridBagLayout GrilleConteneurCouche = new GridBagLayout(); // Grille couche
 -   // -----------------------------------------------
 -   // ajout du conteneur principale à l'objet console
 -   // -----------------------------------------------
 -   //setContentPane(Conteneur);
 -   this.getContentPane().add(Conteneur, BorderLayout.CENTER);
 -   // -----------------------------------------------------------------------------------
 -   // définition des contraintes et ajout des conteneur secondaire au conteneur principal
 -   // -----------------------------------------------------------------------------------
 -   // Conteneur pour les informations
 -   buildConstraints(ContrainteConteneur,0,1,1,3,0,0,0,0,5,5); // contrainte du conteneur principal  
 -   GrilleConteneur.setConstraints(ConteneurInfo,ContrainteConteneur) ; // appliquation des contraintes
 -   Conteneur.add(ConteneurInfo); // ajout effectif
 -   // Conteneur pour les couches statiques et dynamique
 -   buildConstraints(ContrainteConteneur,0,2,1,3,0,0,0,0,5,5); // contrainte du conteneur principal  
 -   GrilleConteneur.setConstraints(ConteneurCouche,ContrainteConteneur) ; // appliquation des contraintes  
 -   Conteneur.add(ConteneurCouche); // ajout effectif
 -   // ---------------------------------------------
 -   // creation des objets info composant la console
 -   // ---------------------------------------------
 -   // Barre d'outil
 -   JToolBar BarreOutil = new JToolBar("Panneau de contrôle" ) ; // barre d'outil horizontal ancrable  
 -   // Icon de la barre d'outil
 -   ImageIcon BarreOutilNew = new ImageIcon("new.gif" ); // creation d'une image pour une nouvelle simulation
 -   JButton BarreOutilButtonNew = new JButton(BarreOutilNew); // creation d'un bouton avec une image pour une new simu
 -   ImageIcon BarreOutilLoad = new ImageIcon("load.gif" ); // creation d'une image pour une charger simulation
 -   JButton BarreOutilButtonLoad = new JButton(BarreOutilLoad); // creation d'un bouton avec une image pour charger une simu
 -   ImageIcon BarreOutilSave = new ImageIcon("floppy.gif" ); // creation d'une image pour save une simulation
 -   JButton BarreOutilButtonSave = new JButton(BarreOutilSave); // creation d'un bouton avec une image pour save une simu
 -   ImageIcon BarreOutilHelp = new ImageIcon("help.gif" ); // creation d'une image pour l'aide
 -   JButton BarreOutilButtonHelp = new JButton(BarreOutilHelp); // creation d'un bouton avec une image pour l'aide
 -   // Info simulation
 -   JLabel Nom = new JLabel("Nom de la simulation : " ); // label nom de la simu
 -   JLabel NomSimu = new JLabel("essaie" ); // label qui va contenir le nom de la simu
 -   // -----------------------------------------------------------
 -   // Definition des contraintes et ajout des objets aux conteneurs
 -   // -----------------------------------------------------------
 -   // Barre d'outil  
 -   buildConstraints(ContrainteConteneur,0,0,1,2,0,0,0,0,5,5); // contrainte du conteneur principal  
 -   GrilleConteneur.setConstraints(Conteneur,ContrainteConteneur) ; // appliquation des contraintes
 -   Conteneur.add(BarreOutil);
 -   // Ajout des boutons à la barre d'outil
 -   BarreOutil.add(BarreOutilButtonNew); // bouton nouveau
 -   BarreOutil.add(BarreOutilButtonLoad); // bouton charger
 -   BarreOutil.add(BarreOutilButtonSave); // bouton sauvegarder
 -   BarreOutil.addSeparator(); // séparateur
 -   BarreOutil.add(BarreOutilButtonHelp); // bouton aide
 -   // Label nom de la simu
 -   buildConstraints(ContrainteConteneurInfo,0,0,3,2,0,0,0,0,0,0); // contrainte pour le label  
 -   GrilleConteneurInfo.setConstraints(Nom,ContrainteConteneurInfo) ; // appliquation des contraintes
 -   ConteneurInfo.add(Nom); // ajout du label nom
 -   // label pour le contenu du nom de la simu
 -   buildConstraints(ContrainteConteneurInfo,0,0,3,2,0,0,0,0,5,5); // contrainte pour le label contenant le nom de la simu
 -   GrilleConteneurInfo.setConstraints(NomSimu,ContrainteConteneurInfo) ; // appliquation des contraintes
 -   ConteneurInfo.add(NomSimu);
 -   // --------------------------
 -   // on fait apparaitre l'objet
 -   // --------------------------
 -   this.setVisible(true);
 - 	}
 - }
 
  |  
 
   le problème c'est que ça ne donne pas du tout le résultat escompté puisque la barre d'outil se trouve en dessous des deux labels alors que ça ne devrait pas être le cas !
   j'ai l'impression que je m'embrouille un peu entre l'application des grilles au conteneur, le getcontentpanel et tout ça. quelqu'un pourrait me donner une petite piste ?    |