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 :

remplissage dans un gridbaglayout


Sujet :

Agents de placement/Fenêtres Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 53
    Par défaut remplissage dans un gridbaglayout
    Bonsoir,

    J'ai un petit problème avec le gridbaglayout. J'ai créé 2 panels dans ma fenetre et j'aimerais que celui de droite soit 3*plus gros que celui de gauche. J'aimerais que ces deux panels remplissent ma fenetre.

    J'ai donc essaye un exemple tout simple
    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
     
    public class Fenetre extends JFrame {
     
    	private JPanel gauche;
    	private JPanel droite;
     
    	public Fenetre(){
    		gauche = new JPanel();
    		droite = new JPanel();
    		gauche.setBackground(new Color(1,168,120));
    		droite.setBackground(new Color(120,1,168));
     
    		setLayout(new GridBagLayout());
    		GridBagConstraints gbc = new GridBagConstraints();
     
     
    		gbc.gridx = 0;
    		gbc.gridwidth = 1;
    		gbc.gridy = 0;
    		gbc.weighty = 1;
    		gbc.fill = GridBagConstraints.BOTH;
    		add(gauche);
     
     
    		gbc.gridx = 1;
    		gbc.gridwidth = 3;
    		gbc.fill = GridBagConstraints.BOTH;
    		add(droite);
     
    	}
    }
    mais voici le résultat que j'obtiens :



    Merci de votre aide

  2. #2
    Membre Expert
    Avatar de polymorphisme
    Homme Profil pro
    Publishing
    Inscrit en
    Octobre 2009
    Messages
    1 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Publishing
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2009
    Messages : 1 460
    Par défaut A propos de GridBagLayout
    Bonjour,

    tu as un exemple très simple à l'url http://java.sun.com/docs/books/tutor...t/gridbag.html

  3. #3
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 483
    Par défaut
    pour donner plus de poids à un panel qu'à un autre, utilise weightx, gridwidth sert à fusionner des colonne, ce qui ne sert à rien dans ton cas.

    Ensuite, il vaut mieux passer par le contentPane pour être propre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    getContentPane().add(.........)
    getContentPane().setLayout(.......)

    Ensuite, dans ton cas, tu as totalement oublié de transmettre les contraintes avec le add, ce qui fait que tes composant n'ont aucune contrainte. Le code correct deviens donc

    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
    getContentPane().setLayout(new GridBagLayout());
    		GridBagConstraints gbc = new GridBagConstraints();
     
     
    		gbc.gridx = 0;
    		gbc.weightx = 1;
    		gbc.gridy = 0;
    		gbc.weighty = 1;
    		gbc.fill = GridBagConstraints.BOTH;
    		getContentPane().add(gauche,gbc);
     
     
    		gbc.gridx = 1;
    		gbc.weightx = 3;
    		gbc.fill = GridBagConstraints.BOTH;
    		getContentPane().add(droite,gbc);

  4. #4
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 53
    Par défaut
    Rhaaa je savais bien que c'était une erreur de merde !

    Merci pour l'info pour le getcontentPane

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Perdu dans les GridBagLayout
    Par Jinryon dans le forum Interfaces Graphiques en Java
    Réponses: 1
    Dernier message: 03/01/2008, 13h46
  2. Réponses: 4
    Dernier message: 24/11/2006, 18h08
  3. reduction dans un GridBagLayout
    Par arasium dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 21/06/2006, 12h37
  4. Réponses: 2
    Dernier message: 22/05/2006, 12h34
  5. [Layout] Mettre un Canvas dans un GridBagLayout
    Par arnobidul dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 06/09/2005, 12h17

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