IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Agents de placement/Fenêtres Java Discussion :

GridBagConstraints : Rien compris


Sujet :

Agents de placement/Fenêtres Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Janvier 2008
    Messages
    306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 306
    Par défaut GridBagConstraints : Rien compris
    Bonjour,

    Je viens de lire un tutoriel sur le fameux GridBagConstraints et j'ai essayé de réaliser une mise en page du programme ci-dessous; Les élements JLabel devraient s'afficher l'un en dessous de l'autre en parallèle avec les JTextField correspondants, mais voila impossible d'arriver à faire ce que je veux...

    Si quelqu'un pouvait me filer un coup de pouce pour que revois et comprenne...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    import java.awt.Container;
    import java.awt.GridBagConstraints;
    import java.awt.GridBagLayout;
     
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JTextField;
     
    class MaFenetre extends JFrame
    {
    	public MaFenetre()
    	{
    		setTitle("Consultation de repertoire");
    		setSize(500,500);
    		setVisible(true);
     
    		setDefaultCloseOperation(DISPOSE_ON_CLOSE);
     
    		Container page = getContentPane();
    		GridBagLayout c = new GridBagLayout();
    		page.setLayout(c);
    		GridBagConstraints gbc = new GridBagConstraints();
    		gbc.fill = GridBagConstraints.BOTH;
     
     
    		nom_lab = new JLabel("Nom de fichier");
    		gbc.gridx = 0;	gbc.gridy = 0;
    		page.add(nom_lab);
     
    		nom = new JTextField(20);
    		gbc.gridx = 0;	gbc.gridy = 1;
    		page.add(nom);
     
     
    		numenr_lab = new JLabel("Numéro enregistrement");
    		gbc.gridx = 0;	gbc.gridy = 2;
    		page.add(numenr_lab);
     
    		numenr = new JTextField(20);
    		gbc.gridx = 0;	gbc.gridy = 3;
    		page.add(numenr);
     
    		/*
    		nom_lab = new JLabel("Nom :");
    		page.add(nom_lab);
    		nom = new JTextField(20);
    		page.add(nom);
     
     
    		pren_lab = new JLabel("Prenom");
    		page.add(pren_lab);
    		pren = new JTextField(20);
    		page.add(pren);
     
     
    		naiss_lab = new JLabel("Année de naissance");
    		page.add(naiss_lab);		
    		naiss = new JTextField(20);
    		page.add(naiss);
    		*/
    	}
    	private JTextField naiss, pren, numenr, nom;
    	private JLabel naiss_lab, pren_lab, numenr_lab, nom_lab;
    }
     
    public class premier
    {
    	public static void main(String args[])
    	{
    		MaFenetre fen = new MaFenetre();
    	}
    }
    Merci d'avance pour vos réponses

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 277
    Par défaut
    Essaie comme ça.
    Je n'ai pas testé, il y a peut être des modifs à faire, comme peut être donner des valeurs par défaut à ton objet GridBagConstraints.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
     
    import java.awt.Container;
    import java.awt.GridBagConstraints;
    import java.awt.GridBagLayout;
     
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JTextField;
     
    class MaFenetre extends JFrame
    {
    	public MaFenetre()
    	{
    		setTitle("Consultation de repertoire");
    		setSize(500,500);
    		setVisible(true);
     
    		setDefaultCloseOperation(DISPOSE_ON_CLOSE);
     
    		Container page = getContentPane();
    		GridBagLayout c = new GridBagLayout();
    		page.setLayout(c);
    		GridBagConstraints gbc = new GridBagConstraints();
    		gbc.fill = GridBagConstraints.BOTH;
     
    		nom_lab = new JLabel("Nom de fichier");
    		gbc.gridx = 0;	gbc.gridy = 0;
                    c.setConstraints(nom_lab, gbc);
    		page.add(nom_lab);
     
    		nom = new JTextField(20);
    		gbc.gridx = 1;	gbc.gridy = 0;
                    c.setConstraints(nom, gbc);
    		page.add(nom);
     
     
    		numenr_lab = new JLabel("Numéro enregistrement");
    		gbc.gridx = 0;	gbc.gridy = 1;
                    c.setConstraints(numenr_lab, gbc);
    		page.add(numenr_lab);
     
    		numenr = new JTextField(20);
    		gbc.gridx = 1;	gbc.gridy = 1;
                    c.setConstraints(numenr , gbc);
    		page.add(numenr);
     
    		/*
    		nom_lab = new JLabel("Nom :");
    		page.add(nom_lab);
    		nom = new JTextField(20);
    		page.add(nom);
     
     
    		pren_lab = new JLabel("Prenom");
    		page.add(pren_lab);
    		pren = new JTextField(20);
    		page.add(pren);
     
     
    		naiss_lab = new JLabel("Année de naissance");
    		page.add(naiss_lab);		
    		naiss = new JTextField(20);
    		page.add(naiss);
    		*/
    	}
    	private JTextField naiss, pren, numenr, nom;
    	private JLabel naiss_lab, pren_lab, numenr_lab, nom_lab;
    }
     
    public class premier
    {
    	public static void main(String args[])
    	{
    		MaFenetre fen = new MaFenetre();
    	}
    }

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Janvier 2008
    Messages
    306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 306
    Par défaut
    Citation Envoyé par fr1man Voir le message
    Essaie comme ça.
    Je n'ai pas testé, il y a peut être des modifs à faire, comme peut être donner des valeurs par défaut à ton objet GridBagConstraints.
    Hello,

    Merci pour ton aide, mais malheureusement ca ne fonctionne pas
    As-tu peut-être trouvé autre chose ?

    Je viens d'encore lire un autre tutoriel et j'arrive toujours pas mieux

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 277
    Par défaut
    J'ai repris ton code, modifié et testé, et cela fonctionne chez moi.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
     
    package test;
     
    import java.awt.Container;
    import java.awt.GridBagConstraints;
    import java.awt.GridBagLayout;
     
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JTextField;
    import javax.swing.SwingUtilities;
     
    public class Test extends JFrame {
     
    	private JTextField naiss, pren, numenr, nom;
    	private JLabel naiss_lab, pren_lab, numenr_lab, nom_lab;
     
    	public Test() {
    		Container page = getContentPane();
    		GridBagLayout c = new GridBagLayout();
    		page.setLayout(c);
    		GridBagConstraints gbc = new GridBagConstraints();
    		gbc.fill = GridBagConstraints.BOTH;
     
    		nom_lab = new JLabel("Nom de fichier");
    		gbc.gridx = 0;
    		gbc.gridy = 0;
    		c.setConstraints(nom_lab, gbc);
    		page.add(nom_lab);
     
    		nom = new JTextField(20);
    		gbc.gridx = 1;
    		gbc.gridy = 0;
    		c.setConstraints(nom, gbc);
    		page.add(nom);
     
    		numenr_lab = new JLabel("Numéro enregistrement");
    		gbc.gridx = 0;
    		gbc.gridy = 1;
    		c.setConstraints(numenr_lab, gbc);
    		page.add(numenr_lab);
     
    		numenr = new JTextField(20);
    		gbc.gridx = 1;
    		gbc.gridy = 1;
    		c.setConstraints(numenr, gbc);
    		page.add(numenr);
     
    		/*
    		 * nom_lab = new JLabel("Nom :"); page.add(nom_lab); nom = new
    		 * JTextField(20); page.add(nom);
    		 * 
    		 * 
    		 * pren_lab = new JLabel("Prenom"); page.add(pren_lab); pren = new
    		 * JTextField(20); page.add(pren);
    		 * 
    		 * 
    		 * naiss_lab = new JLabel("Année de naissance"); page.add(naiss_lab);
    		 * naiss = new JTextField(20); page.add(naiss);
    		 */
     
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		setTitle("Consultation de repertoire");
    		setSize(500, 500);
    		setVisible(true);
    	}
     
    	/**
             * @param args
             */
    	public static void main(String[] args) {
    		SwingUtilities.invokeLater(new Runnable() {
    			public void run() {
    				Test t = new Test();
    			}
    		});
    	}
     
    }
    Il faut entre autre, que l'ajout de composants soit fait avant le setVisible.

  5. #5
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Janvier 2008
    Messages
    306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 306
    Par défaut
    Citation Envoyé par fr1man Voir le message
    J'ai repris ton code, modifié et testé, et cela fonctionne chez moi.
    Ok ok, merci pour ton aide ca marche ^^ J'ai aussi testé et regardé le code pour le comprendre.

    Après relecture du tutoriel (que je vais d'ailleurs encore une fois relire) j'ai trouvé une erreur que j'ai faite, le code écrit par la suite à aussi marché et venait du fait que je faisais :
    au lieu de
    Citation Envoyé par fr1man Voir le message
    Il faut entre autre, que l'ajout de composants soit fait avant le setVisible.
    Ok Ok, merci bcp pour l'info je ne savais pas

Discussions similaires

  1. [XSLT] XML débutant : Rien compris !
    Par popy67 dans le forum XSL/XSLT/XPATH
    Réponses: 7
    Dernier message: 23/05/2008, 16h41
  2. Rien compris, OpenGL et Z axis !?!
    Par _ZoD_ dans le forum OpenGL
    Réponses: 7
    Dernier message: 02/10/2007, 15h40
  3. congés payés rien compris
    Par ti'lou dans le forum Congés
    Réponses: 13
    Dernier message: 28/02/2007, 19h06
  4. [Noob] Mon premier programme : rien compris
    Par uNd3r² dans le forum Dev-C++
    Réponses: 5
    Dernier message: 19/12/2006, 21h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo