slt,
voila g un pb, j'essaye de faire un editeur de carte seulement voila je suis bloqué, j'arrive bien a afficher les images mais seulement la derniere s'affiche, ce qu'il y avait avant part ! Or je voudrais garder justement, voici le code :
Carte.java
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 import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Carte extends JLabel { public Carte (Menu Menu_recu) { Menu_courant = Menu_recu; this.addMouseListener( new MouseAdapter() { public void mousePressed (MouseEvent Clic) { if (SwingUtilities.isLeftMouseButton(Clic)) { X_recue = Clic.getX(); X_recue = (((int)(X_recue / 16)) * 16); Y_recue = Clic.getY(); Y_recue = (((int)(Y_recue / 16)) * 16); Image_recue = Menu_courant.Renvoie_image(); repaint(); } } }); } public void paintComponent (Graphics g) { super.paintComponent(g); g.drawImage(Image_recue, X_recue, Y_recue, null); } private Menu Menu_courant; private Image Image_recue; private int X_recue; private int Y_recue; }
Menu.java
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85 import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Menu extends JLabel { public Menu () { Kit = Toolkit.getDefaultToolkit(); Nom_image = "Defaut.gif"; Image_courante = Kit.getImage(getClass().getResource(Nom_image)); Ajoute_image("bleu.gif", 0, 0); Ajoute_image("vert.gif", 16, 0); Ajoute_image("jaune.gif", 32, 0); Ajoute_image("rouge.gif", 48, 0); this.addMouseListener( new MouseAdapter() { public void mouseClicked (MouseEvent Clic) { if (SwingUtilities.isLeftMouseButton(Clic)) { X = Clic.getX(); X = (((int)(X / 16)) * 16); Y = Clic.getY(); Y = (((int)(Y / 16)) * 16); Determine_image(); } } }); } public void Determine_image () { switch (Y) { case 0: switch (X) { case 0: Nom_image = "bleu.gif"; break; case 16: Nom_image = "vert.gif"; break; case 32: Nom_image = "jaune.gif"; break; case 48: Nom_image = "rouge.gif"; break; } break; } Image_courante = Kit.getImage(getClass().getResource(Nom_image)); } public Image Renvoie_image() {return Image_courante;} public void Ajoute_image (String Nom_image_recue_menu, int X_recue_menu, int Y_recue_menu) { Image_menu = Kit.getImage(getClass().getResource(Nom_image_recue_menu)); X_menu = X_recue_menu; Y_menu = Y_recue_menu; repaint(); } public void paintComponent (Graphics g) { super.paintComponent(g); g.drawImage(Image_menu, X_menu, Y_menu, null); } private int X; private int Y; private int X_menu; private int Y_menu; private Image Image_courante; private Image Image_menu; private Toolkit Kit; private String Nom_image; }
Fenetre.java
merci d'avance pour toutes vos réponses
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 Fenetre extends JFrame { public Fenetre() { setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); setTitle("[ Editeur de carte ] : Fichier vierge"); setSize(705, 480); setResizable(false); Menu Menu_affichee = new Menu(); Carte Carte_affichee = new Carte(Menu_affichee); JSplitPane Separateur = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT); Separateur.setDividerSize(1); Separateur.setDividerLocation(64); Separateur.setLeftComponent(Menu_affichee); Separateur.setRightComponent(Carte_affichee); Container Contenu_fenetre = getContentPane(); Contenu_fenetre.add(Separateur); setVisible(true); } }
Partager