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 :

[Layout] GridBagLayout dans une InternalIframe


Sujet :

Agents de placement/Fenêtres Java

  1. #1
    Fabouney
    Invité(e)
    Par défaut [Layout] GridBagLayout dans une InternalIframe
    Bonjour à tous,

    j'ai mit un GridBagLayout dans une Internal frame, mais j'ai beau changer les contraintes du sous composants, rien n'y fait, il se place en plein milieu de l'internal Frame.

    voici mon code.

    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
    class formAjoutSalarie extends JInternalFrame
    {
     
    private JButton btn1;
    private Container IFcontenu = getContentPane();
     
        public formAjoutSalarie(String title, boolean resizable, boolean closable, boolean maximizable, boolean iconifiable)
    		{
            setTitle(title);
            setResizable(resizable);
            setClosable(closable);
            setMaximizable(maximizable);
            setIconifiable(iconifiable);
            setVisible(true);
    		  	setSize(200,200);
    		 		formMDI.getDesktopPane().add(this);
     
            btn1 = new JButton("test");
            GridBagLayout gridbag = new GridBagLayout();
            IFcontenu.setLayout(gridbag);
     
            GridBagConstraints contraintes = new GridBagConstraints();
            // on remplit la "fiche technique"
            contraintes.gridx = 0;
            contraintes.gridy = 0;
            contraintes.gridwidth = 100;
            contraintes.gridheight = 0;
            contraintes.fill = GridBagConstraints.WEST;
            contraintes.anchor = GridBagConstraints.WEST;
            contraintes.weightx = 0;
            contraintes.weighty = 0;
            // on attache la "fiche technique" au sous-composant
            gridbag.setConstraints(btn1, contraintes);
            // on ajoute le sous-composant au compoant
            IFcontenu.add(btn1);
       }
     
     
     
    }
    doit certainement y avoir des incohérence je compte sur vous pour m'éclaircir, car ca fait depuis hier que je test plein de truc.

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    504
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 504
    Points : 288
    Points
    288
    Par défaut
    salut, deajà il y a un truc bizarre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    contraintes.fill = GridBagConstraints.WEST;
    c pas possible !
    c soit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
          contraintes.fill = java.awt.GridBagConstraints.NONE;
          contraintes.fill = java.awt.GridBagConstraints.HORIZONTAL;
          contraintes.fill = java.awt.GridBagConstraints.VERTICAL;
          contraintes.fill = java.awt.GridBagConstraints.BOTH;

  3. #3
    Fabouney
    Invité(e)
    Par défaut
    Oué c'est vrai, mais bon ca change rien .... mon layout je l'ajoute bien ou il faut, j'ajoute les composant la ou il faut ? .... je ne vois pas trop là

  4. #4
    Membre éprouvé Avatar de leminipouce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2004
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2004
    Messages : 754
    Points : 1 251
    Points
    1 251
    Par défaut
    Ah si, c'est tout à fait possible : Javadoc
    Donc peut-être qu'un FIRST_LINE_START pourrait te le placer ou tu veux non ?

    A chaque fois que j'utilise le GridBagLayout, j'utilise également un éditeur de fenêtre (JIgloo ou Visual Editor, au choix), donc éventuellement, si tu peux essaie, ça pourrait t'aider à en comprendre le fonctionnement.

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    504
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 504
    Points : 288
    Points
    288
    Par défaut
    ok, tu as bien inset à 0,0,0,0
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
          constraints.insets = new java.awt.Insets(0, 0, 0, 0);
    aussi pourquoi tu as mis 100 pour la largeur, et 0 pour ta hauteur ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    contraintes.gridwidth = 1; 
            contraintes.gridheight = 1;
    si ya juste un truc dans ta frame.
    moi en fait j'utilise que du GridBagLayout, mais Je ne connais pas internalFrame, mais je ne pense pas que cela vienne de là...
    ca y est je sais, a partir du moment ou tu demande une position WEST, ou tu demande un 'étendement' (fill) il faut que ton poids soit à un.
    toi tu veux WESt donc en x, ton poids doit etre à 1, tu aurais voulu, NORTH, ton poids en y aurais du etre 1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    contraintes.weightx = 1; 
            contraintes.weighty = 0;
    ca devrait aller mieux

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    504
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 504
    Points : 288
    Points
    288
    Par défaut
    Citation Envoyé par leminipouce
    Ah si, c'est tout à fait possible :
    c possible mais cela ne veut rien dire...

  7. #7
    Fabouney
    Invité(e)
    Par défaut
    bien vu lilou77, mais par contre si je veux mettre mon bouton en haut a gauche, lol.

  8. #8
    Fabouney
    Invité(e)
    Par défaut
    Ah j'ai trouvé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    contraintes.anchor = GridBagConstraints.NORTHWEST;
    contraintes.weightx = 1;
    contraintes.weighty = 1;
    avec cela ca fonctionne.

  9. #9
    Membre éprouvé Avatar de leminipouce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2004
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2004
    Messages : 754
    Points : 1 251
    Points
    1 251
    Par défaut
    Citation Envoyé par lilou77
    c possible mais cela ne veut rien dire...
    J'ai un petit peu du mal à te suivre et comprendre pourquoi ça veut rien dire...

  10. #10
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    504
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 504
    Points : 288
    Points
    288
    Par défaut
    Citation Envoyé par lilou77
    salut, deajà il y a un truc bizarre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    contraintes.fill = GridBagConstraints.WEST;
    cela signifie que tu étend ton composant de facon WEST ? pour moi cela ne veut rien dire, anchor = WEST -> je suis d'accord, cela signifie orienté à l'ouest, mais étendre ce ne peut etre que horizontalement et ou verticalement, pour que ton composant prenne la toute la place dans un sens (H ou V) jusqu'a ce qu'il rencontre la fin de son container ou un autre composan...
    je ne sais pas si je suis clair
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    static int WEST 
              Put the component on the left side of its display area, centered vertically.
    c'set un emplacement, donc anchor... voila je me susi peut etre mal exprimée quand j'ai di que ce n'était pas possible, on a du mal se comprendre.

  11. #11
    Membre éprouvé Avatar de leminipouce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2004
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2004
    Messages : 754
    Points : 1 251
    Points
    1 251
    Par défaut
    OK, je comprends mieux... Merci

Discussions similaires

  1. layout custom dans une QToolbar ?
    Par divide dans le forum Qt
    Réponses: 2
    Dernier message: 10/03/2010, 15h02
  2. Utiliser plusieurs layout différents dans une fenetre
    Par thierry_b dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 23/07/2009, 10h24
  3. probleme de disposition avec GridBagLayout dans une fenetre
    Par thierry_b dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 17/07/2009, 11h08
  4. Réponses: 3
    Dernier message: 15/06/2007, 11h27

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