je vient de commencer mon premier exemple avec JTable et des le premier essaie ,çà na pas marché

je veut colorer la cellule sur la quelle on a cliqué alors j'ai fait ce petit programme ,mais pas de résultat. a parement ya quelque chose qui manque dans le 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
import java.awt.Color;
import java.awt.Component;
 
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.ListSelectionModel;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import javax.swing.table.TableCellRenderer;
 
 
 
public class JTableListSelectionListener 
{
 
  public static void main(String[] a) 
  {
    JFrame frame = new JFrame();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 
    final JTable table;
 
    String[] columnTitles = { "A", "B", "C", "D" };
    Object[][] rowData = { { "1", "2", "3", "4" }, { "1", "2", "3", "4"  },{ "1", "2", "3", "4"  }, { "1", "2", "3", "4" } };
 
    table = new JTable(rowData, columnTitles);
 
    table.setCellSelectionEnabled(true);
 
	table.setDefaultRenderer(Color.class,new MonAfficheurCelluleCouleur());
 
    ListSelectionModel cellSelectionModel = table.getSelectionModel();
 
    cellSelectionModel.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
 
    frame.add(new JScrollPane(table));
    frame.setSize(300, 200);
    frame.setVisible(true);
  }
 
}
 
 
class MonAfficheurCelluleCouleur extends JLabel implements TableCellRenderer
{
	public MonAfficheurCelluleCouleur()
	{
		this.setOpaque(true);
	}
 
	public Component getTableCellRendererComponent(JTable table,Object value, boolean isSelected, boolean hasFocus, int row,int col)
	{
	           setBackground(Color.yellow);
 
	            return this;
	}
}