[Swing] Centrer un JLabel dans un JDialog

Centrer un JLabel dans un JDialog [Swing] - Java - Programmation

Marsh Posté le 14-03-2003 à 09:35:44    

Je me suis dit : classique !

Code :
  1. dialog.setLayout(new BorderLayout());
  2. dialog.getContentPane().add(label, BorderLayout.CENTER);


Mais voilà, ça marche pas. C'est plus compliqué.


---------------
Le site de ma maman
Reply

Marsh Posté le 14-03-2003 à 09:35:44   

Reply

Marsh Posté le 14-03-2003 à 09:54:58    

Bon, j'ai trouvé une solution, mais je ne comprends pas pourquoi elle marche :
 
Lorsque je crée mon label :

Code :
  1. JLabel label = new JLabel("TheLabel", JLabel.CENTER);


---------------
Le site de ma maman
Reply

Marsh Posté le 14-03-2003 à 10:43:53    

D'après le JavaDoc:

Citation :

public JLabel(String text,
              int horizontalAlignment)
Creates a JLabel instance with the specified text and horizontal alignment. The label is centered vertically in its display area.


L'alignement horizontal concerne l'alignement du texte à l'intérieur du composant JLabel, et non l'alignement du JLabel à l'intérieur du JPanel qui le contient. Voilà ce qui fait la différence.
 
Note : Dans un BorderLayout, si tu ne places qu'un composant avec un  placement CENTERED, le composant prend en fait toute la place disponible. Tu le verras si tu changes la couleur de fond du label par rapport à la couleur de fond du panel.

Reply

Marsh Posté le 14-03-2003 à 13:21:15    

En fait, ce qui me génait, c'est le découplage entre conteneur et chaîne contenu. Merci en tous cas.


---------------
Le site de ma maman
Reply

Marsh Posté le 14-03-2003 à 15:50:06    

BifaceMcLeOD a écrit :


Note : Dans un BorderLayout, si tu ne places qu'un composant avec un  placement CENTERED, le composant prend en fait toute la place disponible. Tu le verras si tu changes la couleur de fond du label par rapport à la couleur de fond du panel.


 
Ca me rapelle mes premiers tuto swing, ou tu fais une fenetre avec un bouton, le bouton prend toute la fenetre ... souvenirs souvenirs


---------------
get amaroK plugin
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed