Bonjour,

Je souhaiterais faire une JTable, et qu'une image s'affiche lorsqu'on clique sur une cellule.
Voici mon code :

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
 
public class DucksManager extends Applet{
 
	private Image image;
 
	private JTable table = null;
	DefaultTableModel modele = null;
 
	public void init() {
 
		this.setSize(new Dimension(500,400));
		this.add(getTable());
		this.add(getScroll());
	}
 
	private JScrollPane getScroll() {
		if (scroll == null) {
			scroll = new JScrollPane(table,
					JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
				      JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
		}
		scroll.setVisible(true);
		return scroll;
	}
	private JTable getTable() {
		if (table == null) {
			table = new JTable();
			modele = new DefaultTableModel();
			modele.setColumnIdentifiers(new String[]{"Magazine","Numéro","Etat","Date acquisition"});
			table.setModel(modele);
			table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
			table.setSize(new Dimension(187, 185));
			table.addMouseListener(new java.awt.event.MouseListener() {
				public void mouseClicked(java.awt.event.MouseEvent e) {
					System.out.println("Clic");
					int num_clique=table.getSelectedRow();
					try {
						image=getImage(new URL("http://l_adresse.org/"+new Integer(num_clique).toString()+".jpg"));
					} catch (MalformedURLException e1) {
						e1.printStackTrace();
					}
					repaint();
				}
				public void mousePressed(java.awt.event.MouseEvent e) {
				}
				public void mouseReleased(java.awt.event.MouseEvent e) {
				}
				public void mouseEntered(java.awt.event.MouseEvent e) {
				}
				public void mouseExited(java.awt.event.MouseEvent e) {
				}
			});
			remplir_table();
			table.setVisible(true);
 
		}
		return table;
	}
 
	void remplir_table() {
		modele.addRow(new String[] {"mag1","num35","OK","today"});
		repaint();
	}
	public void paint (Graphics g) {
		if (image != null)
			g.drawImage(image, 0, 0, this);
	}
}
Je ne sais pas trop pourquoi, mais quand au départ j'affichais seulement la JTable tout allait bien, et maintenant que j'ai ajouté le paint() la JTable s'affiche seulement si je clique là où elle est censée être.

Des idées ?