Grille + bouton besoin d'aide

fortman1987 Messages postés 2 Date d'inscription mercredi 13 décembre 2000 Statut Membre Dernière intervention 7 mars 2013 - 7 mars 2013 à 11:40
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 - 11 mars 2013 à 09:20
salut everybody,
j"ai creer une grille et je veux bien affecter a chaque case de cette grille un bouton de tel sorte que le bouton a la meme taille que la case
voila mon code
 
package agents;
import java.awt.*;
 
import javax.swing.*;
import javax.swing.border.Border;
 
public class Gridlayout {
static JButton bouton= new JButton();
/** La largeur */
public static final int LARGEUR = 15;
/** La hauteur */
public static final int HAUTEUR = 10;
/** Le tableau des cases */
private Case[][] cases = new Case[LARGEUR][HAUTEUR];
 
/** La case sélectionnée */
private Case caseCourante = null;
 
/** Direction haut */
public static final int HAUT = 0;
/** Direction bas */
public static final int BAS = 1;
/** Direction gauche */
public static final int GAUCHE = 2;
/** Direction droite */
public static final int DROITE = 3;
 
 
 
/**
 * @param args
 */
public static void main(String[] args) {
// TODO Auto-generated method stub
JFrame t = new JFrame("TP SMA");
JPanel pan = new JPanel (new GridLayout (6,6));
Border blackline = BorderFactory.createLineBorder(Color.black,1); 
for (int i = 0; i < 6; i++) {
for (int j = 0; j < 6; j++) {
//bouton.setText("");
 
/* We want square cells */
 
//pan.add(bouton);
 
 
 
   JPanel ptest = new JPanel();
   ptest.setBorder(blackline);
   pan.add(ptest);
 
pan.setBorder(blackline);
t.add(pan);
 
t.setLocationRelativeTo(null);
t.setSize(400,400);
t.setVisible(true);
}}
}
private void initCells() {
for(int j = 0; j<HAUTEUR; j++)
for(int i = 0; i<LARGEUR; i++) {
cases[i][j] = new Case(i,j);
 
 
 
 
}
}
class Case {
private int posx, posy;
 
/* ************ */
/* Constructeur */
/* ************ */
 
/** Default constructor */
public Case(int x, int y) {
posx = x;
posy = y;
 
 
}
}
 
}

merci d'avance

1 réponse

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
11 mars 2013 à 09:20
Salut,

Déjà, n'appelles pas ta classe GridLayout, mais MonGridLayout par exemple pour qu'il n'y ait pas de confusion.

Ensuite, le GridLayout prend toute la taille disponible, donc, il suffit de le mettre dans un composant qui a la taille voulue et toutes les cases seront identiques.
0
Rejoignez-nous