Partage
  • Partager sur Facebook
  • Partager sur Twitter

GridBagLayout besoin d'aide

Sujet résolu
    27 novembre 2008 à 18:07:13

    Bonjour,

    J'ai X nombre de JLabel et de JTextField et j'amerais le disposer en 2 colonne et X ligne avec comme dimension 150,20 pour les textfield.
    Voici un petit schéma : Image utilisateur

    Comment faire cela ? Car je suis un peu perdu avec ce GridBagLayout
    • Partager sur Facebook
    • Partager sur Twitter
      28 novembre 2008 à 20:06:01

      Tu peux, dans un premier temps disposer un Jpanel (que je nommerais JP1) dans ta JFrame.
      Dans les propriétée, tu le passe en BorderLayout.

      Ensuite dans ton JP1, tu creer un JPanel dans la zone ouest (JP1-O) et un autre dans la zone est (JP1-E)
      Tu passe les propriétés de ton JP1-E en preferedSize de façon que ça te fasse la moiter de ta fenêtre (si tu fais en 800*600, ca devriendra 400*600).

      Toujours dans ton JP1-E, tu passe le layout en null, ce qui te permettra de disposer librement tout tes éléments.
      • Partager sur Facebook
      • Partager sur Twitter
        1 décembre 2008 à 8:07:15

        Oui, j'avais essayé comme ça. Mais une fois que le panel "west" est null comment placer mes label et JTF ?

        west.add(labels[i], ??????)
        


        Voici le code de ma boucle :
        private JPanel createLabelField(JPanel panel){
        
                        //ajout des labels "headers"
                        panel.add(new JLabel("Noms"));
                        panel.add(new JLabel("Notes"));
                        //création des tableau de label et jtf
                        JLabel labels[] = new JLabel[noms.size()];
                        JTextField jtf[] = new JTextField[noms.size()];
                        //boucle de création des labels et jtf en fonction du nombre d'élèves
                    for(int i = 0; i< noms.size();i++){
                        String nom = (String) noms.get(i);
                        Dimension dim = new Dimension(150,20);
                        labels[i] = new JLabel(nom);
                        labels[i].setMaximumSize(dim);
                        jtf[i] = new JTextField();
                        jtf[i].setMaximumSize(dim);
                        
                        panel.add(labels[i]);
                        panel.add(jtf[i]);
                    }
                    
                    return panel;
                }
        
        • Partager sur Facebook
        • Partager sur Twitter

        GridBagLayout besoin d'aide

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown