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 :

Aligner des labels


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 7
    Par défaut Aligner des labels
    Bonsoir,
    J'ai une fenêtre d'eutentification composée de deux JLabels ("Login :" et "Password :"), d'un JTextField et d'un JPasswordField et d'un JButton pour valider. Ce que je veux faire c'est aligner les deux zones de texte ainsi que les JLabels pour qu'ils se terminent aux même point.

    Une idée sur le Layout à utiliser ?

    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
     
    JInternalFrame fr = new JInternalFrame("Authentification", false, true, false, false);
    fr.setBounds(250, 150, 300, 130);
    JLabel l1 = new JLabel("Login :");
    JTextField tf = new JTextField();
    tf.setPreferredSize(new Dimension(120, 20));
    JLabel l2 = new JLabel("Password :");
    JPasswordField pf = new JPasswordField();
    pf.setPreferredSize(new Dimension(120, 20));
    JButton b = new JButton("Valider");
     
    JPanel p1 = new JPanel();
    p1.add(l1);
    p1.add(tf);
    JPanel p2 = new JPanel();
    p2.add(l2);
    p2.add(pf);
    JPanel p3 = new JPanel();
    p3.add(b);
    fr.add(p1, BorderLayout.NORTH);
    fr.add(p2, BorderLayout.CENTER);
    fr.add(p3, BorderLayout.SOUTH);
    Vous remarquez que j'ai utilisé un JBorderLayout, ça résulte ceci :


  2. #2
    Rédacteur
    Avatar de Arnaud F.
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Août 2005
    Messages
    5 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : Finance

    Informations forums :
    Inscription : Août 2005
    Messages : 5 183
    Par défaut
    Salut,

    Oui tu peux faire ça très facilement en utilisant un GridLayout, c'est comme un tableau en fait, et pour ce que tu cherche à faire c'est l'idéal je pense

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    JPanel p1 = new JPanel(new GridLayout(2,2));
    p1.add(l1);
    p1.add(tf);
    p1.add(l2);
    p1.add(pf);
    ++
    C'est par l'adresse que vaut le bûcheron, bien plus que par la force. Homère

    Installation de Code::Blocks sous Debian à partir de Nightly Builds

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 7
    Par défaut
    Merci de ta réponse !

    Le GridLayout n'est pas la solution adéquate à mon problème vu que ça aligne les labels selon la première lettre et non pas la dernière, tu vois ?

    ça donne ceci entre autre :

    Login :
    Password :

    ce que je veux plutôt c'est que le caractére ':' soit au même niveau dans les deux lignes.

    A+

  4. #4
    Membre Expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Par défaut
    GroupLayout depuis java 6.
    Sinon SpringLayout (voir doc).

    Ce sont les seuls (à ma connaissance) qui font exactement ce que tu veux...

  5. #5
    Membre éprouvé Avatar de nicgando
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    128
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 128
    Par défaut
    Ou alors GridBagLayout avec un alignement à droite de tes labels

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GridBagConstraints.anchor = GridBagConstraints.EAST

  6. #6
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Y'a un bon paquet de layouts au final qui savent faire, il suffit juste de savoir les employer correctement...

Discussions similaires

  1. Alignement vertical des label et input
    Par chrisdot dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 24/01/2014, 10h10
  2. [Tableaux] Alignement des champs d'un formulaire
    Par jack554 dans le forum Langage
    Réponses: 7
    Dernier message: 15/09/2005, 15h30
  3. Comment aligner des éléments d'un TEdit à droite ?
    Par bertrand_declerck dans le forum Composants VCL
    Réponses: 18
    Dernier message: 15/06/2005, 17h46
  4. Réponses: 3
    Dernier message: 26/01/2005, 15h21
  5. [VB6] Des labels qui réagissent à la souris
    Par murielle dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 24/10/2002, 14h19

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