web-dev-qa-db-fra.com

Aligner le texte dans JLabel à droite

J'ai un JPanel avec du JLabel ajouté avec la méthode add() de JPanel. Je veux aligner le JLabel à droite comme dans l'image ci-dessous mais je ne sais pas comment faire. Une idée? Merci!

enter image description here

43
Luca

Ceci peut être fait de deux façons.

Alignement horizontal de JLabel

Vous pouvez utiliser le JLabelconstructeur :

JLabel(String text, int horizontalAlignment) 

Pour aligner à droite:

JLabel label = new JLabel("Telephone", SwingConstants.RIGHT);

JLabel a aussi setHorizontalAlignment:

label.setHorizontalAlignment(SwingConstants.RIGHT);

Cela suppose que le composant occupe toute la largeur du conteneur.

Utiliser la mise en page

Une approche différente consiste à utiliser la disposition pour aligner réellement le composant sur la droite, tout en évitant qu'il ne prenne toute la largeur. Voici un exemple avec BoxLayout:

    Box box = Box.createVerticalBox();
    JLabel label1 = new JLabel("test1, the beginning");
    label1.setAlignmentX(Component.RIGHT_ALIGNMENT);
    box.add(label1);

    JLabel label2 = new JLabel("test2, some more");
    label2.setAlignmentX(Component.RIGHT_ALIGNMENT);
    box.add(label2);

    JLabel label3 = new JLabel("test3");
    label3.setAlignmentX(Component.RIGHT_ALIGNMENT);
    box.add(label3);


    add(box);
78
JLabel label = new JLabel("fax", SwingConstants.RIGHT);
8
Bart Blommaerts