Bonsoir,
Voici mon problème,
j'essaye de créer un damier sur lequel j'essaye d'accrocher des image et impossible d'y arriver.
Voici le code de mes classes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 public class TestFenetre { public static void main(String[] args) { Fenetre f = new Fenetre("Mon super damier"); f.sizeAndPlace(); } }
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 package TD6; import javax.swing.*; import java.awt.*; public class Fenetre extends JFrame { private String titre; private Damier d0; public Fenetre (String titre) { super(titre); this.setSize(300,300); this.setResizable(false); setLayout(new BorderLayout()); // Création du damier d0 = new Damier(10,10); this.add(d0,BorderLayout.CENTER); // Permet d'arrêter l'appli lors de la fermeture de la fenêtre setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public void sizeAndPlace() { Dimension dim = Toolkit.getDefaultToolkit().getScreenSize(); // Récupération de la largeur et hauteur de l'écran int lae = (int)dim.getWidth(); int hae = (int)dim.getHeight(); // Retaillage de la largeur et de la hauteur de la fenêtre int laf = (int)(lae*3/4); int haf = (int)(hae*3/4); // Variable d'émargement de la fenêtre int Xf = (int)(lae*10/100); int Yf = (int)(hae*10/100); // Affichage de la fenêtre avec les nouvelles dimension setBounds(Xf, Yf, laf, haf); this.setVisible(true); } }
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 package TD6; import java.awt.*; import javax.swing.*; public class Damier extends JPanel{ Case [][] t; public Damier (int nbrcaselar, int nbrcasehau) { // Création du style de damier setLayout(new GridLayout(nbrcaselar, nbrcasehau)); // Réservation de l'espace en mémoire t = new Case[nbrcaselar][nbrcasehau]; for (int i=0 ; i<nbrcaselar ; i++) { for (int j=0 ; j<nbrcasehau ; j++) { t[i][j] = new Mur(i,j); // Permet l'affichage dans la fenêtre this.add(t[i][j]); } } } }
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 package TD6; import javax.swing.*; import java.awt.*; public abstract class Case extends JPanel { protected static Toolkit toolkit = Toolkit.getDefaultToolkit() ; public Case () { } public abstract void paintComponent(Graphics g); }J'ai joint le code également en pièce jointe
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 package TD6; import java.awt.*; public class Mur extends Case { Image mur = toolkit.getImage("mur.gif"); public Mur(int x, int y) { super(); } public void paintComponent(Graphics g) { int l,h; l = mur.getWidth(); h = mur.getHeight(); System.out.println(mur+" "+l+" "+h); g.drawImage(mur, 0, 0, l, h, this); } }
Merci
Partager