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

AWT/Swing Java Discussion :

Probleme GridBagLayout et defenition des tailles des JPanel


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Inscrit en
    Novembre 2007
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 92
    Par défaut Probleme GridBagLayout et defenition des tailles des JPanel
    Bonjour a tous,
    Comme le dis le titre, j'ai un problème pour definir la taille de Jpanel et j'utilise GridBagLayout.
    En gros j'ai une JFrame qui contient 3 JPanel, je voudrais que la JPanel appelé:
    "un" occupe le haut de la fenêtre, et occupe toute la largeur de la fenêtre
    "deux" devrait être en bas à gauche,et occuper tout le coté gauche
    "trois" devrait être en bas a droite et devrait occuper tout le coté droit


    Si quelqu'un pourrait m'aider , parce que la je galère et j'arrive pas trouver ce qui manque.Les lignes que j'ai commenté ont été commenté car en les utilisant ca ne resoud pas mon problème, alors soit je les utilise pas correctement soit ce ne sont pa les bonnes lignes de code.
    Voici mon coté:
    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
    import javax.swing.*;
    import java.awt.*;
     
    class autretest{
        private JPanel principal=null,un=null,deux=null,trois=null;
        private JFrame frame=null;
        private GridBagLayout layout=null,layout1=null;
        //private GridBagConstraints c=null,d=null;
        private JLabel label1=null,label2=null,label3=null,label4=null,label5=null;
        public autretest(){
    	frame=new JFrame(" Un test de fentre");
    	frame.setSize(1280,800);
    	frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    	frame.setVisible(true);
     
     
    	principal=new JPanel();
    	principal.setBackground(Color.BLUE);
     
    	layout=new GridBagLayout();
    	principal.setLayout(layout);
     
     
    	GridBagConstraints c=new GridBagConstraints();
    	un=new JPanel();
    	un.setBackground(Color.GREEN);
    	c.gridx=0;
    	c.gridy=0;
    	//c.gridwidth=200;
    	//c.gridheight=200;
    	c.anchor = GridBagConstraints.CENTER;
    	//c.fill=GridBagConstraints.BOTH;
    	layout.setConstraints(un,c);
    	principal.add(un);
     
     
    	GridBagConstraints r=new GridBagConstraints();
    	deux=new JPanel();
    	deux.setBackground(Color.YELLOW);
    	r.gridx=0;
    	r.gridy=1;
    	//r.gridwidth=100;
    	//r.gridheight=100;
    	//r.weightx=100;
    	//r.weighty=100;
    	r.anchor=GridBagConstraints.WEST;
    	//r.fill=GridBagConstraints.EAST;
    	layout.setConstraints(deux,r);
    	principal.add(deux);
     
     
     
    	GridBagConstraints f=new GridBagConstraints();
    	trois=new JPanel();
    	f.gridx=1;
    	f.gridy=1;
    	//f.gridwidth=100;
    	//f.gridheight=100;
    	f.anchor=GridBagConstraints.EAST;
    	//f.anchor=GridBagConstraints.WEST;
    	layout.setConstraints(trois,f);
    	principal.add(trois);
     
    	frame.setContentPane(principal);
     
        }
        public static void main(String [] arg){
    	autretest at=new autretest();
        }
    }
    Merci d'avance

  2. #2
    Membre éclairé Avatar de biozaxx
    Profil pro
    Inscrit en
    Août 2004
    Messages
    403
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 403
    Par défaut
    salut,

    en ce qui concerne les gridbaglayout je te conseil d'aller lire ce post tres tres interessant
    http://www.developpez.net/forums/sho...=gridbaglayout

    cela devrait te permettre de faire ce que tu souhaites

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 5
    Par défaut
    Tu pourrais essayer avec comme layout du panel de ta frame un BorderLayout, contenant au nord ton panel un, à l'ouest ton panel deux et à l'est ton panel trois.

    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
     
    import javax.swing.*;
    import java.awt.*;
     
    class autretest {
        private JPanel principal=null, un=null, deux=null, trois=null;
        private JFrame frame=null;
     
        public autretest() {
    	frame = new JFrame(" Un test de fentre");
    	frame.setSize(1280,800);
    	frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    	frame.setVisible(true);
     
    	principal = new JPanel(new BorderLayout());
    	principal.setBackground(Color.BLUE);
     
    	un = new JPanel();
    	un.setBackground(Color.GREEN);
    	principal.add(un, BorderLayout.NORTH);
     
    	deux = new JPanel();
    	deux.setBackground(Color.YELLOW);
    	principal.add(deux, BorderLayout.WEST);
     
    	trois=new JPanel();
    	trois.setBackground(Color.RED);
    	principal.add(trois, BorderLayout.EAST);
     
    	frame.setContentPane(principal);
        }
     
        public static void main(String [] arg){
    	autretest at=new autretest();
        }
    }
    Aprés tu peux jouer sur la taille de tes panel avec setPreferredSize(new Dimension(hauteur, largeur))

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 30/03/2011, 03h07
  2. Réponses: 1
    Dernier message: 06/07/2007, 13h46
  3. Recupération des tailles des repertoires
    Par gurvan1983 dans le forum C++Builder
    Réponses: 4
    Dernier message: 13/04/2007, 08h55
  4. [info] taille des adresses des pointeurs Java
    Par TabrisLeFol dans le forum Général Java
    Réponses: 11
    Dernier message: 14/02/2006, 13h24
  5. [MFC] Taille des pages des CPropertySheet
    Par Negyoshi dans le forum MFC
    Réponses: 3
    Dernier message: 03/04/2005, 13h11

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