Bonjour,
Dans le cadre de ma deuxième année de prépa intégrée, je dois réaliser une bataille navale avec interface graphique (j'ai sélectionné SWING) avec un mode de jeu contre l'ordinateur. Globalement, j'ai saisi comment développer à peu près toutes les fonctionnalités telles que le placement des bateaux, les tirs etc. J'ai pris le parti de créer une classe Case contenant des JButton afin d'exploiter les interactions des JButton par la suite (la classe est jointe ci-dessous).
J'aimerai donc réussir à afficher une grille de dimension 10 x 10 composée de Cases. Cependant, je n'arrive pas à ajouter lesdites Cases au sein d'un JPanel pour les afficher. Sauriez-vous m'aider ? Je vous joins le code, qui bloque au niveau de la ligne 30. J'ai vraiment besoin de me sortir de ce problème afin de pouvoir avancer sur le reste du problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package bataillenavale; import javax.swing.JButton; /** * * @author Utilisateur */ public class Case { private JButton button; private final int x; private final int y; protected int valeur; public Case(int x0, int y0){ x=x0; y=y0; button = new JButton("0"); } }
En vous remerciant.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 package bataillenavale; import java.awt.BorderLayout; import java.awt.GridLayout; import java.util.ArrayList; import javax.swing.JPanel; /** * * @author Utilisateur */ public class Plateau { private JPanel affichage; public Plateau(){ JPanel grille = new JPanel(); affichage = new JPanel(); affichage.setLayout(new BorderLayout()); ArrayList<Case> listecases = new ArrayList(); grille = new JPanel(); grille.setLayout(new GridLayout(11,11)); for(int i=0;i<11;i++){ for(int j=0;j<11;j++){ listecases.add(new Case(i,j)); grille.add(listecases); } } } }
Partager