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 :

[Swing] Problème de placement et de taille des composants


Sujet :

AWT/Swing Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 63
    Points : 43
    Points
    43
    Par défaut [Swing] Problème de placement et de taille des composants
    Salut,

    j'ai construit une interface autour de box et de panel et j'au une barre d'onglet que je définis au moyen de

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     JTabbedPane tabbedBar = new JTabbedPane();
               searchPan.add(tabbedBar);
    Je remplis apres mes onglets. Ca ca marche bien mais il y a un hix. C'est des composants qui dans le code ont la meme taille apparaisse avec des tailles différentes à l'écran. Pire, certains labels sont alignés sur la gauche d'autre non. C fou.. Je joins deux captures pour illustrer le probleme.. Sachez que par exemple les JTextField sont tous déclarés ainsi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
                JTextField txt_field_date = new JTextField(20);
                txt_field_date.setMaximumSize(txt_field_date.getPreferredSize());
                tabVBoxAdv.add(txt_field_date);
    De même, le titre de la fenetre n'est pas centré alors qu'il devrait l'être

    Savez ce qui se produit Merci!
    Images attachées Images attachées   

  2. #2
    Expert éminent

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 813
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 813
    Points : 7 638
    Points
    7 638
    Par défaut
    Salut,

    Tu utilises quoi comme layout? Un BoxLayout partout? Dans tous les panels?
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 63
    Points : 43
    Points
    43
    Par défaut
    edit : g remplacé tous les panels par des box... meme probleme!

    C'est étrange, pas moyen de tout aligné!

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 16
    Points : 7
    Points
    7
    Par défaut
    Salut......

    Si ce sont tes JLabel qui ne sont pas centrés, essaye lors de la construction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    JLabel test = new JLabel("test", JLabel.CENTER);
    Lorsque tu utilises comme gestionnaire de composants un BoxLayout, pour bien centrer les choses, je fais ce que je viens de te dire ej je place le JLabel en question ds un panel.........

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    JPanel tmp = new JPanel();
     tmp.add(test);
    Et c'est ce panel que j'ajoute au Box.......

    En espérant avoir compris ta question et avoir pu y répondre.........

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 63
    Points : 43
    Points
    43
    Par défaut
    Salut, j'ai tenté de mettre en place ta solution sans succès. Je vous joint le bout de code qui fait défaut

    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
     
     Box searchPan = Box.createVerticalBox();
             searchPan.setBorder(new TitledBorder("Criteres de recherche"));
     
              searchPan.setMaximumSize(new Dimension(200,400));
              secHBox.add(searchPan);
     
             // Bar d'onglet
             JTabbedPane tabbedBar = new JTabbedPane();
               searchPan.add(tabbedBar);
     
             // Contenu des onglets
             Box tabVBoxCrit = Box.createVerticalBox();
             Box tabVBoxAdv  = Box.createVerticalBox();
     
             tabbedBar.add("Critères", tabVBoxCrit);
             tabbedBar.add("Options",  tabVBoxAdv);
     
                // Contenu du premier onglet
     
                tabVBoxCrit.add(Box.createVerticalStrut(50));
     
                label = new JLabel("Nom du fichier :");
                tabVBoxCrit.add(label);
                JTextField txt_field_file = new JTextField(20);
                txt_field_file.setMaximumSize(txt_field_file.getPreferredSize());
                tabVBoxCrit.add(txt_field_file);
     
                tabVBoxCrit.add(Box.createVerticalStrut(35));
     
                label = new JLabel("Mot dans le fichier :");
                tabVBoxCrit.add(label); 
                JTextField txt_field_inFile = new JTextField(20);
                txt_field_inFile.setMaximumSize(txt_field_inFile.getPreferredSize());
                tabVBoxCrit.add(txt_field_inFile);
     
                tabVBoxCrit.add(Box.createVerticalStrut(35));
    secHbox est une simple Hbox et est ajouté dans une autre box!

    Voila, c tout de même etonnant!

    edit : je crois avoir trouvé la src du pb

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
                Box HBoxRoot = Box.createHorizontalBox();
                 tabVBoxCrit.add(HBoxRoot);
     
                label = new JLabel("Disques Durs : ");
                HBoxRoot.add(label);
    Si je met en commentaire cette partie, tout revient dans l'ordre!

    Je sais pas du tout pk?!!

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 16
    Points : 7
    Points
    7
    Par défaut
    Donc, si je comprends bien, tu ajoutes un BoxLayout à un autre, sans passer par un Panel ????

    ça le paraît un peu contre nature d'ajouter un Box à un autre........

    J'aurais plutôt fait un panel, que je mets en Box Layout et ce panel je l'ajoutes à ton premier Box.........

    Mais j'ai peut être louper quelque chose .........

Discussions similaires

  1. Taille des composants swing
    Par Clorish dans le forum AWT/Swing
    Réponses: 9
    Dernier message: 09/04/2008, 09h37
  2. Réponses: 7
    Dernier message: 15/05/2007, 16h54
  3. Problème de test sur la taille des fichiers
    Par gregal dans le forum Langage
    Réponses: 7
    Dernier message: 12/12/2006, 20h57
  4. [Swing] Fixer la taille des composants
    Par Imladir dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 05/02/2006, 07h53
  5. [netbeans][Interfaces] réglage taille des composants
    Par tsinapah dans le forum NetBeans
    Réponses: 3
    Dernier message: 22/04/2005, 18h11

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