1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| getContentPane().setLayout(new GridBagLayout());
MyGridBagConstraints gbc= new MyGridBagConstraints();
/** LABEL NORD => premiere ligne **/
gbc.addTo(getContentPane(), Box.createHorizontalStrut(STRUT_LENGTH), true); // ajout d'une marge à gauche
gbc.addTo(getContentPane(), jl_texte, false);
gbc.addToTheEnd(getContentPane(), Box.createHorizontalStrut(STRUT_LENGTH), true); // ajout d'une marge à droite
// Les 2 marges étant 'xextendable' => le jl_texte se trouvera toujours au milieu de son container...
/** TEXTAREA => deuxième ligne 'yextendable' **/
gbc.addToTheEnd(getContentPane(), js_texte, true, true); // ajout du text area qui prend toute la largeur et toute la hauteur autorisée
/** BOUTONS SUD => 3 ème ligne **/
// les boutons doivent se trouver sous le textarea => l'ensemble des boutons ne doit prendre qu'une "case" du gridBagLayout => Création d'un JPanel interne
JPanel jp_boutons = new JPanel();
jp_boutons.setLayout(new GridBagLayout());
gbc.addTo(jp_boutons, Box.createHorizontalStrut(STRUT_LENGTH), true); // ajout d'une marge à gauche pour prendre l'éventuelle place vide entre le bord gauche du text area et le premier bouton
gbc.addTo(jp_boutons, jb_stats, false);
gbc.addTo(jp_boutons, jb_parcourir, false);
gbc.addTo(jp_boutons, jb_valider, false);
gbc.addToTheEnd(jp_boutons, Box.createHorizontalStrut(STRUT_LENGTH), true); // ajout d'une marge à droite pour prendre l'éventuelle place vide entre le bord droit du text area et le dernier bouton
gbc.addTo(getContentPane(), Box.createHorizontalStrut(STRUT_LENGTH), true); // ajout d'une marge à gauche pour prendre l'éventuelle place vide entre le bord gauche de la fenêtre et le bord du text area
gbc.addTo(getContentPane(), jp_boutons, true); // xetendable => pour autoriser le text area a etre aussi xextendable... L'expace en plus sera consommé par les éléments xextendable du jpanel boutons => les struts
gbc.addToTheEnd(getContentPane(), Box.createHorizontalStrut(STRUT_LENGTH), true); // ajout d'une marge à droite pour prendre l'éventuelle place vide entre le bord droit de la fenêtre et le bord du text area |
Partager