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 :

quel layout utiliser


Sujet :

Agents de placement/Fenêtres Java

  1. #1
    Membre du Club Avatar de yasmine*
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 100
    Points : 63
    Points
    63
    Par défaut quel layout utiliser
    salut à tous
    pouvez vous me dire quels sont les layouts qu'on peu utiliser et dont on peu maipuler facilement le positionnement et les dimensions pour construire une interface graphique

  2. #2
    Expert éminent

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 816
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 816
    Points : 7 648
    Points
    7 648
    Par défaut
    Salut,

    tu as la FAQ GUI qui te donne pas mal de détails déjà...

    Les tutos de chez Sun également...

    Et puis en faisant une petite recherche sur le forum tu devrais aussi trouver ton bonheur.

  3. #3
    Membre du Club Avatar de yasmine*
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 100
    Points : 63
    Points
    63
    Par défaut
    je suis deja passé par faq java avant de poser ma question mais il y a pas grand chose et le probleme lses tuto de sun c'est k'ils sont en anglais.la maintenant je suis sur le site de sun et a propos c'est quoi l'utulité(en bref) de GridBagLayout.
    merci d'avance

  4. #4
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    L'utilité du GridBagLayout, c'est que c'est un layout organisé en tableau qui peut tout faire. Tu peut complexifier énormémement ton interface avec ce layout et faire tout ce que tu veux. Néanmoins, le revers de la médaille, c'est qu'il n'est pas facile à utiliser.

  5. #5
    Membre du Club Avatar de yasmine*
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 100
    Points : 63
    Points
    63
    Par défaut
    salut à tous
    oui c'est encore moi ,j'arrive pas à comprendre le fonctionnement d'un GridBagLayout.ma classe est la suivante:

    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
    private Container getContainer(){
    	container = getContentPane();
    	container.setLayout(new GridBagLayout()) ;
    	c = new GridBagConstraints();
    	boutonStock=new JButton("Stock") ;
    	boutonVente=new JButton("Vente") ;
     
    	c.insets = new Insets(2, 2, 2, 2);
    	c.weighty = 1.0;
    	c.weightx = 1.0;
    	c.gridx = 0;
    	c.gridy = 0;
    	c.gridheight = 2; // span across 2 rows
    	container.add(boutonStock,c) ;
     
    	c.gridx = 200;
    	c.gridheight = 100; // set back to 1 row
    	c.gridwidth = 100; // span across 2 columns
    	container.add(boutonVente, c);
      }
    ce que je comprends pas c'est que meme si je change le gridX ou le weightY le resultat est toujour le meme.
    comment peut on gérer la position et les dimension d'un bouton dans un gridBagLayout.
    j'ai vraiment besoin de votre aideet merci d'avance.
    Fichiers attachés Fichiers attachés

  6. #6
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    IL faut fouille un peu plus dans les attributs des GridBagConstraints:

    anchor pour le positionnnement, fill pour remplissage ou pas (si fill est à GridBagConstraint.NONE alors la taille est la prefferedSize du bouton, sinon le bouton remplis en vertical et/ou en horizontal selon la valeur de l'attribut fill)

  7. #7
    Membre éclairé
    Avatar de bbclone
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 537
    Points : 704
    Points
    704
    Par défaut
    envoi moi un dessin de ce que tu veut faire avec un GridBagLayout et je te le fais si tu veux? (bbclone@gmail.com)

    pour repondre a tes question:
    les gridx et gridy ne changent pas la taille. il positionne ton Component dans une cellule de ta grille virtuelle. si tu veux donner une taille a tes composant tu dois mettre un preferedSize (je te conseille de mettre un minimumSize aussi).


    weightX et weighty peuvent dans certains cas faire varier la taille d'un composant. si le composant a un fill sur Horizontal/Vertical ou BOTH, ca peut faire grandir ton composant a la taille qui lui reste. (en fonction de la valeur de weightx/y).

    c'est vrai que tu peut aussi jouer sur la taille des composant avec les parametre padding de ta GBConstraints mais je te deconseille d'utiliser du size padding ;-)

  8. #8
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 94
    Points : 68
    Points
    68
    Par défaut
    oui, le grid bag layout est bon conteneur car il permet de faire toutes les mises en page (une fois qu'on a bien saisi le principe, je ne m'attarde pas la dessus de tres bons tutos sont là pour ca). L'inconvenient a mon sens c'est qu'il n'est pas tres évolutif: une fois la frame dessinée pour y placer tes composant, en ajouter un nouveau chamboule tout...Une bonne doc papier s'impose donc!

    Ma petite participation pour gérer le constraints :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    protected void buildConstraints(GridBagConstraints gbc, int gx, int gy, 
                int gw, int gh, int wx, int wy){
            gbc.gridx=gx;//Colonne X
            gbc.gridy=gy;//Ligne Y
            gbc.gridwidth=gw;//Nbre de colonnes de large
            gbc.gridheight=gh;//Nbre de ligne de haut
            gbc.weightx=wx;//Largeur colonnes
            gbc.weighty=wy;//Hauteur lignes
        }
    Grace a cette petite methode tu peut facilement gerer les contraintes plutot que de les definir une par une.

    Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    gridBag = new GridBagLayout();
    gbConstraints=new GridBagConstraints();
    MonPanel= new JPanel();
    MonPanel.setLayout(gridBag);
    setContentPane(MonPanel);
     
    //Y a plus qu'a ajouter les composants dans le constructeur
    buildConstraints(gbConstraints, 0, 2, 1, 1, 0, H2); //En une ligne s-y-ouplait!
    gridBag.setConstraints(monComposant, gbConstraints);
    MonPanel.add(monComposant);
    La petite astuce (que je me permet de préciser au cas ou) c'est que tu utilise un seul GridBagConstraints donc si tu modifie une de ses propriétés pour l'un des composants (ex: .anchor ou .fill) cette propriété resttera active la prochaine fois que tu utilisera ton GridBagConstraints alors pense a les écraser systematiquement si tu en modifie...

  9. #9
    Membre du Club Avatar de yasmine*
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 100
    Points : 63
    Points
    63
    Par défaut
    ce que j'arrive pas à comprendre c'est que pourquoi quand je change le gridX et le gridY il se passe rien le bouton reste toujours a sa place,ca fait une semaine que travailles la dessus sans succès

  10. #10
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Le gridx et le gridy servent à placer les composants contenus dans ton gridbag les uns par rapport aux autres.

    C'est comme les tables HTML (sauf qu'utiliser les tables pour faire du pacement en HTML c'est mmmmmmmmmmaaaaaaaaaaaaaallllllllllllllllll)

    si tu fais du
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <table>
    <tr>
    <td></td><td><img ...></img></td>
    </tr>
    <tr>
    <td></td><td></td>
    </tr>
    ton image sera placée à gauche même si il y a une colonne avant.

    Le GridBag ça marche pareil.

    Essaies de comprendre ensuite à quoi servent les autres éléments des GridBagConstraints....

  11. #11
    Membre éclairé
    Avatar de bbclone
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 537
    Points : 704
    Points
    704
    Par défaut
    Citation Envoyé par yasmine*
    ce que j'arrive pas à comprendre c'est que pourquoi quand je change le gridX et le gridY il se passe rien le bouton reste toujours a sa place,ca fait une semaine que travailles la dessus sans succès
    t'a pas recu mon mail?

  12. #12
    Membre du Club Avatar de yasmine*
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 100
    Points : 63
    Points
    63
    Par défaut
    Je viens de voir ton mail je te remercie je vais l'essayer a+.
    merci à tous ceux qui m'ont repondu

Discussions similaires

  1. Quel Layout utiliser pour une fenetre simple?
    Par Dazdh dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 15/04/2009, 19h11
  2. Quel Layout utiliser ?
    Par DiverSIG dans le forum Agents de placement/Fenêtres
    Réponses: 1
    Dernier message: 02/04/2009, 14h23
  3. Quel layout utiliser ?
    Par eclesia dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 13/11/2007, 10h18
  4. [débutant]Quel Layout utiliser
    Par pingoui dans le forum Agents de placement/Fenêtres
    Réponses: 7
    Dernier message: 16/09/2004, 18h57
  5. Réponses: 2
    Dernier message: 11/07/2002, 09h31

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