2012-09-25 16 views
31

Ho un JPanel con JLabel aggiunto con il metodo add() di JPanel. Voglio allineare la JLabel a destra come nell'immagine qui sotto, ma non so come farlo. Qualche idea? Grazie!Allineare il testo in JLabel a destra

enter image description here

+0

Vorresti che il testo dell'etichetta fosse allineato orizzontalmente? –

risposta

66

Questo può essere fatto in due modi.

JLabel Allineamento orizzontale

È possibile utilizzare il JLabelconstructor:

JLabel(String text, int horizontalAlignment) 

di adeguamento alla destra:

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

JLabel ha anche setHorizontalAlignment:

0.123.
label.setHorizontalAlignment(SwingConstants.RIGHT); 

Questo presuppone che il componente occupi l'intera larghezza nel contenitore.

Uso layout

Un approccio diverso è quello di utilizzare il layout di allineare effettivamente il componente a destra, garantendo nel contempo non prendono tutta la larghezza. Ecco un esempio con 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); 
5
JLabel label = new JLabel("fax", SwingConstants.RIGHT); 
Problemi correlati