Comment ajouter des marges dans un BoxLayout

Résolu
0nn0bello006 Messages postés 8 Statut Membre -  
0nn0bello006 Messages postés 8 Statut Membre -
Bonjour,

Je débute en Java mais pas en programmation.

Je bataille depuis 2 heures, je cherche à ajouter des espaces entre mes JLabel que j'ai placé dans des BoxLayout.

voir code ci-dessous

package gui;

import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Component;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.GridLayout;
import java.util.Calendar;

public class Calendrier extends JPanel
{
private final String[] TAB_JOUR = {"lundi","mardi","mercredi","jeudi","vendredi","samedi","dimanche"};
private JLabel[] tabLbJour = new JLabel[TAB_JOUR.length];

public Calendrier()
{
this.setLayout(new BoxLayout(this, BoxLayout.PAGE_AXIS));
this.setBackground(Color.lightGray);
JPanel LigneCalendrier=new JPanel();

LigneCalendrier.setLayout(new BoxLayout(LigneCalendrier, BoxLayout.LINE_AXIS));

for(int CmptJour=0;CmptJour<TAB_JOUR.length;CmptJour++)
{
tabLbJour[CmptJour]=new JLabel(TAB_JOUR[CmptJour]);

LigneCalendrier.add(tabLbJour[CmptJour]);

}

for(int CmptJour=1;CmptJour<32;CmptJour++)
{
System.out.println(CmptJour % 7);
if(CmptJour % 7==1)
{
this.add(LigneCalendrier);
LigneCalendrier=new JPanel();
LigneCalendrier.setLayout(new BoxLayout(LigneCalendrier, BoxLayout.LINE_AXIS));

}
LigneCalendrier.add(new JLabel(String.valueOf(CmptJour)));
}
this.add(LigneCalendrier);
this.setVisible(true);
}
}


Je ne veux pas utiliser de GridLayout, et aimerai pouvoir ajouter des espaces entre mes JLabel et que chacune de mes lignes de JLabel soit de même largeur.

En vous remerciant :)
A voir également:

1 réponse

Felice_ Messages postés 271 Statut Membre 11
 
Quelque chose comme :
LigneCalendrier.add(tabLbJour[CmptJour]);
LigneCalendrier.add(Box.createRigidArea(new Dimension(5,0)));

?
0
0nn0bello006 Messages postés 8 Statut Membre
 
Parfait merci! :)

Voilà pourquoi je déteste Java. La redimension des JLabel aurait été plus judicieux et logique mais lorsqu'on redéfini leur taille, rien ne change (vive Java!!)

Merci pour votre aide
0
KX Messages postés 19031 Statut Modérateur 3 020 > 0nn0bello006 Messages postés 8 Statut Membre
 
"Voilà pourquoi je déteste Java"
En même temps tu parles de classes AWT sorti il y a 20 ans avec le JDK 1.0 !!

Oracle (éditeur de Java) a abandonné AWT/Swing. Pour faire des applications graphiques c'est Java FX qui devrait désormais être utilisé.
Is JavaFX replacing Swing as the new client UI library for Java SE?

Après, si tu tiens absolument à faire du vieux Java...
0
0nn0bello006 Messages postés 8 Statut Membre > KX Messages postés 19031 Statut Modérateur
 
Merci beaucoup! Je ne connaissais pas du tout!
Je vais me renseigner sur Java FX et balancer Swing et co à la trappe car c'est une horreur.

Merci beaucoup
0