Bonjours,
Je viens vers vous car j'ai un problème pour afficher une icone et la rendre cliquable en utilisant les même coordonnées de placement.

La zone cliquable fonctionne mais l'icone que je veux rajouter par dessus pour la rendre visible ne s'affiche pas.

Ce code permet l'affichage d'une map avec des points d’intérêts (fonction qui me pose le problème ci-dessus ) à placer avec les coordonnées X et Y

En vous remerçiant d'avance pour votre aide
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
 
package view;
 
import java.awt.Component;
import java.awt.EventQueue;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Point;
import java.awt.Rectangle;
import java.awt.Toolkit;
 
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.event.PopupMenuListener;
 
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JMenuItem;
import javax.swing.JPopupMenu;
import javax.swing.JTextField;
import javax.swing.JButton;
import java.awt.SystemColor;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JTabbedPane;
import java.awt.Font;
import javax.swing.SwingConstants;
import java.awt.Color;
import javax.swing.border.LineBorder;
 
public class affichage extends JFrame {
 
	private JPanel contentPane;
	private JTextField textField;
	private int xMouse;
	private int yMouse;
	private Image img;
 
	/**
         * Launch the application.
         */
	public static void main(String[] args) {
 
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					affichage frame = new affichage(null);
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}
 
	private static final Rectangle ZONE_IMAGE_1 = new Rectangle(100, 100, 27, 48);
 
	public void paintComponent(Graphics g) {
		// dessine l'image
 
		img = getToolkit().getImage("ressources/point.png");
		g.drawImage(img, 0, 0, contentPane.getWidth(), contentPane.getHeight(),
				null);
		if (img != null) // Si l'image existe, ...
			g.drawImage(img, ZONE_IMAGE_1.x, ZONE_IMAGE_1.y, ZONE_IMAGE_1.width, ZONE_IMAGE_1.height, null);
	}
 
	private void testLocation(Point mouse, Rectangle area, String text) {
		String infoPopup = "test";
		// test si la souris est dans les data de l'image
		if (area.contains(mouse))
			new Popup(infoPopup).setVisible(true);
		else
			System.out.println(text + " - !image");
	}
 
	/**
         * Create the frame.
         * 
         * @param popupMenu
         */
	public affichage(JPopupMenu popupMenu) {
		setIconImage(Toolkit.getDefaultToolkit().getImage("ressources/iconMaps.png"));
		setBackground(SystemColor.windowBorder);
		setTitle("Smap");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 1024, 597);
		contentPane = new JPanel();
		contentPane.setBackground(Color.DARK_GRAY);
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
 
		textField = new JTextField();
		textField.setHorizontalAlignment(SwingConstants.LEFT);
		textField.setBounds(758, 33, 192, 32);
		contentPane.add(textField);
		textField.setColumns(10);
 
		JButton btnQuitter = new JButton("Quitter");
		btnQuitter.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				System.exit(0);
			}
		});
		btnQuitter.setBounds(909, 529, 89, 23);
		contentPane.add(btnQuitter);
 
		JButton btnRechercher = new JButton(new ImageIcon(
				"ressources/search.png"));
		btnRechercher.setBounds(960, 33, 32, 32);
		contentPane.add(btnRechercher);
 
		JTabbedPane tabbedPane_2 = new JTabbedPane(JTabbedPane.TOP);
		tabbedPane_2.setBounds(758, 76, 240, 442);
		contentPane.add(tabbedPane_2);
 
		JTabbedPane tabbedPane_1 = new JTabbedPane(JTabbedPane.TOP);
		tabbedPane_2.addTab("Général", null, tabbedPane_1, null);
 
		JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.TOP);
		tabbedPane_2.addTab("Recherche", null, tabbedPane, null);
 
		JTabbedPane tabbedPane_3 = new JTabbedPane(JTabbedPane.TOP);
		tabbedPane_2.addTab("Historique", null, tabbedPane_3, null);
 
		JButton btnAccueil_1 = new JButton("Accueil");
		btnAccueil_1.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				dispose();
				new accueil().setVisible(true);
			}
		});
		btnAccueil_1.setBounds(758, 529, 89, 23);
		contentPane.add(btnAccueil_1);
 
		ActionListener actionListener = new PopupActionListener();
		PopupMenuListener popupMenuListener = new MyPopupMenuListener();
 
		final JPopupMenu popupMenu1 = new JPopupMenu("Title");
		popupMenu1.addPopupMenuListener(popupMenuListener);
 
		final JMenuItem addPoi = new JMenuItem("Ajouter POI");
		popupMenu1.add(addPoi);
		addPoi.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				int yFinal = yMouse - 18;
				new ajoutPoi(xMouse, yFinal).setVisible(true);
			}
		});
 
		final JPanel mapPanel = new JPanel();
		mapPanel.setBorder(new LineBorder(new Color(0, 0, 0)));
		mapPanel.setSize(758, 538);
 
		JLabel image = new JLabel(new ImageIcon("ressources/monimage.jpg"));
		mapPanel.add(image);
		mapPanel.setBounds(10, 5, 738, 547);
		contentPane.add(mapPanel);
		mapPanel.setComponentPopupMenu(popupMenu1);
 
		JLabel lblMinisig = new JLabel("miniSIG");
		lblMinisig.setForeground(Color.WHITE);
		lblMinisig.setHorizontalAlignment(SwingConstants.CENTER);
		lblMinisig.setFont(new Font("Tahoma", Font.BOLD, 15));
		lblMinisig.setBounds(758, 8, 240, 14);
		contentPane.add(lblMinisig);
 
		mapPanel.addMouseListener(new MouseListener() {
			@Override
			public void mouseClicked(MouseEvent e) {
				Point p = e.getPoint();
				testLocation(p, ZONE_IMAGE_1, "mouseClicked - data 1");
			}
 
			@Override
			public void mouseEntered(MouseEvent arg0) {
				// TODO Auto-generated method stub
 
			}
 
			@Override
			public void mouseExited(MouseEvent e) {
				// TODO Auto-generated method stub
				repaint();
			}
 
			@Override
			public void mousePressed(MouseEvent e) {
				// TODO Auto-generated method stub
				xMouse = e.getX();
				yMouse = e.getY();
				Point p = e.getPoint();
				testLocation(p, ZONE_IMAGE_1, "mousePressed - data 1");
			}
 
			@Override
			public void mouseReleased(MouseEvent e) {
				// TODO Auto-generated method stub
				Point p = e.getPoint();
				testLocation(p, ZONE_IMAGE_1, "mouseReleased - data 1");
			}
		});
 
	}
}