-
Souci avec un GridLayout
Bonjour à tous !
J'ai un petit souci avec mon GridLayout : je souhaite créer un tableau de 17 lignes et 4 colonnes. Je l'initialise avec ceci :
setLayout(new GridLayout(17,4));
Par contre, lorsque je rempli mon tableau avec 68 cases (4*17), il me créé un tableau de 17 lignes et 5 colonnes... Du coup ça déconne complètement...
Merci d'avance
-
-
Oui je veux bien mais ca risque d'etre un peu lourd :
// NbLignes = 17 et NbColonnes = 4
int NbLignes = Variable2SansDoublon.length + 2;
int NbColonnes = Variable1SansDoublon.length + 2;
setLayout(new GridLayout(NbLignes , NbColonnes));
add(new JLabel(Variable2 + " \\ " + Variable1, 0));
ListeVariable1 = new JLabel[Variable1SansDoublon.length];
ListeVariable2 = new JLabel[Variable2SansDoublon.length];
ListeTableau = new JLabel[Variable1SansDoublon.length][Variable2SansDoublon.length];
int CouleurLigne = 0;
for(int i=0;i<(Variable1SansDoublon.length);i++)
{
ListeVariable1[i] = new JLabel(Variable1SansDoublon[i], 0);
ListeVariable1[i].setOpaque(true);
add(ListeVariable1[i]);
}
add(new JLabel("Total"));
CouleurLigne = 1;
NumberFormat nf = NumberFormat.getInstance();
nf.setMaximumFractionDigits(2);
float total = controllertableaudynamique.NombreTotalEnregistrements();
float pourcentage = 0;
int temp = 0;
float SommeDesPourcentages = 0;
for(int i=0;i<Variable2SansDoublon.length;i++)
{
ListeVariable2[i] = new JLabel(Variable2SansDoublon[i], 0);
ListeVariable2[i].setOpaque(true);
ListeVariable2[i].setBorder(BorderFactory.createLineBorder(Color.BLACK));
add(ListeVariable2[i]);
for(int j=0;j<Variable1SansDoublon.length;j++)
{
temp = controllertableaudynamique.CalculTableauDynamique(Variable1, Variable2, Variable1SansDoublon[j], Variable2SansDoublon[i]);
ListeTableau[j][i] = new JLabel(String.valueOf(temp), 0);
pourcentage = temp * 100 / total;
SommeDesPourcentages = SommeDesPourcentages + pourcentage;
ListeTableau[j][i].setText(ListeTableau[j][i].getText() + " " + nf.format(pourcentage) + " %");
ListeTableau[j][i].setOpaque(true);
ListeTableau[j][i].setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.LOWERED));
add(ListeTableau[j][i]);
add(new JLabel(String.valueOf(nf.format(SommeDesPourcentages))));
SommeDesPourcentages = 0;
}
}
add(new JLabel("al"));
add(new JLabel("b"));
add(new JLabel("c"));
add(new JLabel("d"));
-