Bonjour,
je commence en java et j'essaie de créer un jeu de mémoire
pour le début, j'essaye avec un tableau de cartes de couleurs. Mon problème c'est je n'arrive pas à afficher les cartes crées, j'ai l'impression que la méthode paintComponent ne se fait pas appelée
voici mon code
classe CarteCouleur
la classe panneauDeCartes
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 import java.awt.*; import java.awt.event.*; import javax.swing.*; public class CarteCouleur extends Carte { private Color couleur; public CarteCouleur(Color c){ super(true); couleur = c; repaint(); } public void paintRecto(Graphics2D g){ g.setColor(couleur); g.fillRect(0,0,this.getWidth(),this.getHeight()); } public void paintComponent(Graphics2D g){ //super.paintComponent(g); System.out.println("c bon"); if(estMontree()){ paintRecto(g); } else{ paintVerso(g); } } }
et finalement la classe JeuMemory
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57 import java.io.*; import java.net.URL; import java.awt.event.*; import java.awt.*; import javax.swing.*; public class PanneauDeCartes extends JPanel implements MouseListener { private int nRangees, nColonnes, delai0, delai1; private ImageIcon image, dos; public PanneauDeCartes(int nRangees, int nColonnes, CarteCouleur[] cartes, int delai0, int delai1){ GridLayout layout = new GridLayout(nRangees,nColonnes); layout.setHgap(10); layout.setVgap(10); setLayout(layout); //image = createImage("http://data.photos-animaux.com/photos/629/6287/800-1-628686.jpg"); //dos = createImage("http://data.photos-animaux.com/photos/629/6288/1280-3-628724.jpg"); for(int i =0;i<nRangees*nColonnes; i++){ this.add(cartes[i]); } } public static ImageIcon createImage(String img_urlstring){ URL img_url = null; try { img_url = new URL(img_urlstring); } catch(IOException e) { try {img_url = new URL("https://"+"webtoolfeed.files.wordpress.com/2012/01/create-your-url1.jpg");} catch(IOException e2) {} } ImageIcon img_icon = new ImageIcon(img_url); return img_icon; } public void mouseClicked(MouseEvent e) { } public void mouseEntered(MouseEvent e) { } public void mouseExited(MouseEvent e) { } public void mousePressed(MouseEvent e) { } public void mouseReleased(MouseEvent e) { } }
merci d'avance
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 import javax.swing.*; import java.awt.*; public class JeuMemory { public static void main(String[] args) { JFrame f = new JFrame("jeu de mémoire"); CarteCouleur[] c = new CarteCouleur[8]; c[0] = new CarteCouleur(Color.BLUE); c[1] = new CarteCouleur(Color.RED); c[2] = new CarteCouleur(Color.GREEN); c[3] = new CarteCouleur(Color.ORANGE); c[4] = new CarteCouleur(Color.YELLOW); c[5] = new CarteCouleur(Color.CYAN); c[6] = new CarteCouleur(Color.MAGENTA); c[7] = new CarteCouleur(Color.PINK); PanneauDeCartes p = new PanneauDeCartes(2,4,c,200,200); f.add(p); f.setSize(600,600); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.setVisible(true); f.setLocationRelativeTo(null); } }
Partager