tomalion
Messages postés59Date d'inscriptiondimanche 24 août 2008StatutMembreDernière intervention26 octobre 2015
-
3 févr. 2011 à 15:48
Utilisateur anonyme -
4 févr. 2011 à 12:46
Bonjour,
Je suis étudiant et j'ai eu quelques cours sur la programmation java. Je dois rendre une application concernant un echiquier et je bloque dès le début. Je ne parvient pas à créer tous les boutons qui seront dans l'interface, qui correspondent aux cases sur lesquelles les figures vont et aussi celles marquées a b c d ... et 1 2 3 etc...
Je ne parvient pas a cerner les concept de gridlayout et de matrice de bouton, puis-je allier les deux ? Ou ils sont séparé ? Car je ne parvient pas à les insérer dans un JPanel, voici mon code :
public Vue() {
this.setTitle("Application graphique du jeu d'échecs");
this.setSize(1000,800);
this.getContentPane().setBackground(Color.yellow);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLocationRelativeTo(null);
De plus, comment mettre chaque bouton avec un nom particulier car avec la matrice, on ne choisi pas trop le nom, du moins je ne sais pas comment faire.
Je te conseille aussi de lire les tutoriels d'Oracle à propos de Swing et AWT car tu ne sembles pas du tout maîtriser les concepts.
Ce code est faux :
VB =new JButton [9][9];
for(int i=0; i<VB.length;i++)
{
for (int j = 0;j<VB[i].length;j++)
{
VB[i][j]= new JButton ("");
}
}
GridLayout VB = new GridLayout(9,9);
this.setLayout(VB);
this.getContentPane().add(VB,"Center");
Crée un JPanel ou prends P3 qui semble ne servir à rien, mets lui un GridLayout comme LayoutManager avec la méthode setLayout(), ajoute alors les boutons à ce JPanel puis ajoute le JPanel à ta JFrame en faisant par exemple :
add(P3,BorderLayout.Center);
Tu n'as pas besoin d'appeler getContentPane(), c'est facultatif dans de nombreux cas depuis Java 1.5. Où as-tu lu qu'on peut passer des chaînes de caractère arbitraires comme contrainte? Vous êtes plusieurs à avoir faire l'erreur sur javafr, je me dis que vous avez dû vous inspirer d'une mauvaise source. Cordialement.