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 :

Probleme avec 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 confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    115
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 115
    Par défaut Probleme avec GridBagLayout
    Bonjour,

    J'ai voulu utiliser le GridBagLayout car j'entendais dire beaucoup de bien de ce dernier mais j'avoue ne pas y arriver.
    Mes éléments ne se place pas comme indiquer(ils sont toujours centrer) et je ne vois pas pourquoi malgré les différents exemples que j'ai pu trouver sur la toile.

    Voici un bout de 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
     
    public class UiTimeBoxed extends JFrame {
       private JFrame frame;
       private JPanel barPanel;
       private JButton playButton;
     
       public UiTimeBoxed() {
     
          frame = new JFrame();
          barPanel = (JPanel) frame.getContentPane();
          GridBagLayout gridBagLayout = new GridBagLayout();
          GridBagConstraints constraints = new GridBagConstraints();
          barPanel.setLayout(gridBagLayout);
     
          playButton = new JButton("Play");
          constraints.fill = GridBagConstraints.HORIZONTAL;
          constraints.gridx=1;
          constraints.gridy=0;
          constraints.gridwidth=3;
          constraints.gridheight=2;
          barPanel.add(playButton, constraints);
          add(barPanel);
     
          this.pack();
          this.setDefaultCloseOperation(EXIT_ON_CLOSE);
          this.setTitle("TimeBoxed");
          this.setVisible(true);
          }
    }
    J'appelle après mon constructeur dans mon main.
    Voilà, merci d'avance à ceux qui m'aideront.

  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
    Montre nous par un croquis ou explique nous ce que tu veux réaliser, on pourra mieux t'aider.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    115
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 115
    Par défaut
    bah c'était vraiment pour tester un peu le layout et pour prendre la main dessus, là je veux mettre mon bouton en haut à gauche en (1,0) et l'agrandir comme j'ai voulu faire

  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
    Ben déjà tu positionnes gridwidth à 3 et gridheight à 2 alors que tu n'as qu'un composant dans ton interface.
    Pareil pour ton gridx et gridy.
    Ensuite pour éviter que tout soit centré, il faut jouer avec les weightx et weighty.

  5. #5
    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
    Est-ce cela que tu veux réaliser ?

    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
     
    public UiTimeBoxed() {
     
    		frame = new JFrame();
    		barPanel = (JPanel) frame.getContentPane();
    		GridBagLayout gridBagLayout = new GridBagLayout();
    		GridBagConstraints constraints = new GridBagConstraints();
    		barPanel.setLayout(gridBagLayout);
     
    		playButton = new JButton("Play");
    		constraints.fill = GridBagConstraints.HORIZONTAL;
    		constraints.gridx = 0;
    		constraints.gridy = 0;
    		constraints.gridwidth = 1;
    		constraints.gridheight = 1;
    		constraints.weightx = 1;
    		constraints.weighty = 1;
    		constraints.anchor = GridBagConstraints.NORTHWEST;
    		barPanel.add(playButton, constraints);
    		//frame.add(barPanel);
     
    		frame.pack();
    		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		frame.setTitle("TimeBoxed");
    		frame.setVisible(true);
    	}

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    115
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 115
    Par défaut
    oui c'est exactement ça, merci.

    J'ai quelques questions parce que je ne comprend pas tout au niveau des contraintes.
    Gridwith et gridheight ne servent pas à "redimenssionner" le composant, l'agrandir à plusieurs colonne et plusieurs ligne?
    Wheightx et wheighty c'est bien l'intervalle entre les lignes non?
    Et pour qu'un objet prenne la position qu'on lui donne il faut lui donner forcément une contraintes "anchor"?

    Dans l'exemple (http://java.sun.com/docs/books/tutor...t/gridbag.html) ils ne se servent pas toujours des anchor et des wheightx c'est ça que je ne comprend pas trop enfait.

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

Discussions similaires

  1. Probleme pour placer mes composants avec gridbaglayout
    Par Zoners dans le forum Débuter
    Réponses: 1
    Dernier message: 08/05/2010, 21h57
  2. Probleme avec le layout gridbaglayout
    Par Zoners dans le forum Agents de placement/Fenêtres
    Réponses: 0
    Dernier message: 06/05/2010, 17h56
  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. probleme avec GridBagLayout
    Par moi89 dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 09/05/2006, 12h03
  5. [Kylix] probleme avec un imagelist
    Par NicoLinux dans le forum EDI
    Réponses: 4
    Dernier message: 08/06/2002, 23h06

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