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 :

[BoxLayout] Espace vide bizarre


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    340
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 340
    Par défaut [BoxLayout] Espace vide bizarre
    Voila, j'utilise à plusieurs reprises dans un programme des BoxLayout, que j'ajoute au centre d'un JPanel en BorderLayout. Et en général, au sud de ce panel, j'ai un bouton OK.
    Voici le rendu : j'ai un espace vide bizarre et non "accessible", que je voudrais supprimer, pour rapprocher mon bouton des CheckBox.

  2. #2
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 165
    Par défaut
    euh, tu peux nous donner le code de ta frame??

    merci

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    340
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 340
    Par défaut
    ok, voici le 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
    41
    42
    43
    44
    45
    46
     
     
    protected JFrame fEnv;
    protected JLabel labEnv;
    protected JPanel panEnv;
    protected JButton okEnv;
    protected JCheckBox env0,env1,env2,env3,env4,env5,envdef;
    protected Box boxEnv;
    protected JMenuItem choixEnv;
     
    //dans le constructeur
    fEnv=new JFrame("Choix de l'environnement de simuation");
    panEnv=new JPanel(new BorderLayout());
    labEnv=new JLabel("Choisissez l'environnement que vous souhaitez utiliser :");
    okEnv=new JButton("Choisir cet environnement");
    env0=new JCheckBox("Environnement majoritairement masculin");
    env1=new JCheckBox("Environnement majoritairement féminin");
    env2=new JCheckBox("Environnement à faible densité de nourriture");
    env3=new JCheckBox("Environnement à vieillissement rapide");
    env4=new JCheckBox("Environnement à fort taux de mutation");
    env5=new JCheckBox("Environnement stimulateur d'agressivité");
    envdef=new JCheckBox("Environnement par défaut");
    boxEnv=Box.createVerticalBox();
     
    fEnv.add(panEnv);
    boxEnv.add(env0); 
    boxEnv.add(env1);
    boxEnv.add(env2); 
    boxEnv.add(env3);
    boxEnv.add(env4); 
    boxEnv.add(env5); 
    boxEnv.add(envdef);
    panEnv.add(labEnv,"North");
    panEnv.add(boxEnv,"Center");
    panEnv.add(okEnv,"South");
    fEnv.setSize(325,300);
    panEnv.setBackground(bleuclair); 
    labEnv.setBackground(bleuclair);
    env0.setBackground(bleuclair); 
    env1.setBackground(bleuclair); 
    env2.setBackground(bleuclair);
    env3.setBackground(bleuclair); 
    env4.setBackground(bleuclair); 
    env5.setBackground(bleuclair);
    envdef.setBackground(bleuclair);
    okEnv.setEnabled(false);

  4. #4
    Membre Expert
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Par défaut
    C'est parce que tu mets le bouton et les cases à cocher dans des zones différents que ça s'emmanche mal.

    Deux solutions :
    • Met tout le monde au centre
    • Supprime le fEnv.setSize(325,300); et met un pack() à la place.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    340
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 340
    Par défaut
    ok, avec le pack(), c'est nickel.
    Pour le centrer, j'ai fait un nouveau panel panokEnv. Et je place mon bouton en BorderLayout.CENTER.
    Mais truc bizarre, si je défini mon panel panokEnv rempli d'un borderlayout, et que je fais : panokEnv.add(bokEnv, "Center"), alors le bouton occupe toute la largeur du panel
    par contre, si je défini mon panel avec un FlowLayout, si je fais : panokEnv.add(bokEnv, "Center"), alors là, le bouton est centré et n'occupe pas toute la largeur du panel.
    Une explication?

  6. #6
    Membre chevronné Avatar de Claythest
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    558
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 558
    Par défaut
    Ben c'est comme ça que fonctionne le borderlayout... Si ça ne te plaît pas, changes en
    Prends par exemple le GridBagLayout qui est très pratique

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

Discussions similaires

  1. Construire une chaine avec plusieurs espaces vides
    Par imane_bennouna dans le forum Langage
    Réponses: 10
    Dernier message: 04/08/2006, 09h29
  2. Ne pas afficher d'espace vide lorsqu'on masque un <div>
    Par guybrush007 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 03/08/2006, 11h02
  3. [CSS] Souligner espace vide ?
    Par cristolb dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 13/01/2006, 23h36
  4. [String] comment virer tous les espaces vides ?
    Par Alec6 dans le forum Langage
    Réponses: 6
    Dernier message: 26/07/2004, 14h27
  5. Combler l'espace vide entre deux id
    Par Marshall_Mathers dans le forum Requêtes
    Réponses: 5
    Dernier message: 01/07/2004, 11h33

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