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 :

Positionnement en Swing des JComboBox


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
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 49
    Par défaut Positionnement en Swing des JComboBox
    Bonjour à tous,

    Décidément, plus j'avance dans mon apprentissage de SWING, plus je me heurte à des problèmes que je n'arrive pas à maitriser.

    Voilà mon problème.

    J'ai trois liste déroulante (JComboBox) et je n'arrive pas à les centrer...

    Voilà 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
    public JPanel buildContentPane (){
    	final JPanel panel = new JPanel();
    	panel.setLayout(new FlowLayout());
    	//TEXTE DE BIENVENUE
     
    	JLabel label = new JLabel("Bienvenue... Veuillez spécifier les informations ci-dessous svp.");
     
    	//Creation des trois differentes listes
    	CommunesModelListe cml = new CommunesModelListe(false, "", "");
    	DepartementsModelListe dml = new DepartementsModelListe (false, "","");
    	LieuxDitsModelListe ldml = new LieuxDitsModelListe (false,"","");
     
    	//Create the combo boxes.
        final JComboBox ListeCommunes  = new JComboBox(cml.getListeCommunes());
        final JComboBox ListeDepartements  = new JComboBox(dml.getListeDepartements());
        final JComboBox ListeLieuxDits  = new JComboBox(ldml.getListeLieuxDits());
     
        //panel.setLayout(null);
        //ListeCommunes.setBounds(150, 50, 130, 30);
        //ListeDepartements.setBounds(150, 100, 130, 30);
     
    	//Lay out the demo.
        ListeCommunes.setPreferredSize(new Dimension(100, 30));
        ListeDepartements.setPreferredSize(new Dimension(100, 30));
       	ListeLieuxDits.setPreferredSize(new Dimension(100, 30));
     
       add(ListeCommunes, BorderLayout.NORTH);
       add(ListeDepartements, BorderLayout.WEST);
       add(ListeLieuxDits, BorderLayout.EAST);
     
        //setBorder(BorderFactory.createEmptyBorder(20,20,20,20));
     
    	//ajout des composants de la fenetre au panel
    	//panel.add(label);
    	//panel.add(ListeDepartements);
    	//panel.add(ListeCommunes);
    	//panel.add(ListeLieuxDits);
    Avec ce code là, je ne vois même plus mes listes sur l'écran!!

    Je voudrais juste les aligner au milieu de ma fenetre, pourtant, ça ne me paraissait pas très compliqué, et j'ai beau aller voir sur plein de sites mentionnés dans d'autres posts sur le sujet, je n'arrive pas à trouver une solution qui marche...

    Alors, si une bonne ame pouvait m'éclairer svp...

    En vous remerciant...

  2. #2
    Membre émérite Avatar de jojodu31
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Par défaut
    dans un premier temps remplace
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    panel.setLayout(new FlowLayout());
    par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    panel.setLayout(new BorderLayout());
    je vais jetter un oeil pour le reste

  3. #3
    Membre émérite Avatar de jojodu31
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Par défaut
    ok bon déjà qq modifs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    panel.add(ListeCommunes, BorderLayout.NORTH);
    panel.add(ListeDepartements, BorderLayout.WEST);
    panel.add(ListeLieuxDits, BorderLayout.EAST);
    au lieu des add(...) simples

    et
    à la fin de ta fonction car là tu renvoi rien

  4. #4
    Membre expérimenté

    Étudiant
    Inscrit en
    Mai 2006
    Messages
    200
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 200
    Par défaut
    Bonjour tu peux très bien utiliser un FlowLayout pour ton panel mais si tu veux centrer les éléments contenus dans ce panel il faut un FlowLayout "Center" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    panel.setLayout(new FlowLayout(FlowLayout.CENTER));
    Par défaut le FlowLayout est "Left" il me semble.

    Deplus, inutile d'utiliser (car on utilise NORTH,.... dans le cas d'un BorderLayout) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    add(ListeCommunes, BorderLayout.NORTH);
    add(ListeDepartements, BorderLayout.WEST);
    add(ListeLieuxDits, BorderLayout.EAST);
    Cela suffit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    add(ListeCommunes);
    add(ListeDepartements);
    add(ListeLieuxDits);

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 49
    Par défaut
    Merci pour vos réponses. J'ai essayé ce que vous m'avez dit.
    Mais ça ne donne pas le résultat que je veux..

    Comment faire, à partir du code que j'ai donné, pour que j'aie mes 3 jcombobox centrées et alignées entre elles (vous voyez ce que je veux dire? : que les trois jcombobox commencent au meme "x")?
    Parce que là avec les layout, j'ai l'impression que ça ne va pas me donner ce que je veux...

    Peut etre que je me trompe? Je sais pas. Par contre, comme je suis pas une experte, je voudrais des exemples svp...

    Merci encore!

  6. #6
    Membre émérite Avatar de jojodu31
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    panel.setLayout(new BorderLayout());
     
    // ............. code ............
     
     
    	   	panel.add(ListeCommunes, BorderLayout.NORTH);
    	   	panel.add(ListeDepartements, BorderLayout.CENTER);
    	   	panel.add(ListeLieuxDits, BorderLayout.SOUTH);
    voilà ce que j obtiens (piece jointe)
    c'est ce que tu veux ?
    Images attachées Images attachées  

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

Discussions similaires

  1. [SWING] Problème JCombobox
    Par alain123 dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 13/11/2007, 16h59
  2. JTable contenant des JComboBox contenant des Images
    Par lex13 dans le forum Composants
    Réponses: 4
    Dernier message: 31/07/2007, 15h57
  3. [Swing] Autocomplétion JComboBox
    Par Tijee dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 13/07/2007, 12h46
  4. [swing] probleme jComboBox
    Par jamalmoundir dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 24/05/2006, 16h44
  5. Vérification de l'etat des JComboBox dans JTable
    Par nicotine002 dans le forum Composants
    Réponses: 5
    Dernier message: 26/01/2006, 11h47

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