Bonjour,
J'ai creer une JTable avec entête de boutons.
Mes boutons viennent de la classe Selection qui herite de JButton et qui permet de mettre une image de fond lorque l'on fait appel à changeColor();

Pour commencer, j'ai d'abord fait un changement de couleur simple des boutons lorsque l'on clique dessus
Tous cela marche parfaitement:
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
 
	/* Numero de serialisation par defaut.*/
	private static final long serialVersionUID = 1L;
 
	/* Index de l'entête de colonne ayant été pressé. */ 
	int pushedColumn;
 
	/* Tableau de couleur des entêtes du tableau. */
	Color [] couleur=new Color[7];
 
	Color defaut=new Color(189,189,189);
 
	/**
         * Le constructeur de la classe.
         */
	public ButtonHeaderRenderer() 
	{     
		super(" ");
		// Pour aucun entête pressé pushedColumn est mis à -1.
		pushedColumn   = -1;   
		//Aucune marge autour du bouton.
		setMargin(new Insets(0,0,0,0)); 
		//Initalisation du tableau de couleur par les valeurs par defaut.
		for(int i=0;i<7;i++)
			couleur[i]=UIManager.getColor("JButton.background");
	}   
	/** Methode permettant la gestion des evenements des entêtes de colonnes.
         * @param table La table en cours d'utilisation.
         * @param value Le composant ayant fait appel à la methode
         * @param isSelected Defini si le composant est selectionné.
         * @param hasFocus Defini si le composant possède le focus. 
         * @param row La ligne du composant.
         * @param column La colonne du composant. 
         * 
         */
	public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) 
	{    
		setText((value ==null) ? "" : value.toString());  
		boolean isPressed = (column == pushedColumn);  
		getModel().setPressed(isPressed);   
		getModel().setArmed(isPressed);
		if(isPressed)
		{
			if(couleur[column-1]==defaut)
				couleur[column-1]=UIManager.getColor("JButton.background");
			else 
				couleur[column-1]=defaut;
		}
		setBackground(couleur[column-1]);
		return this; 
	} 
	/**
         * Indique qu'un entête a été pressé.
         * @param col La colonne de l'entête pressé.
         */
	public void setPressedColumn(int col) 
	{ 
		pushedColumn = col; 		  
	}
La où ça devient difficile c'est lors de l'integration du changement de fond en faisant appel à la methode de la classe Selection.

En effet je n'arrive pas à changer la couleur du boutons voulus...