guarda la mia classe di ButtonRenderer... che ho fatto per un progetto di "gestione campionato"

a parte quel peccatuccio nel costruttore(dove avrei divuto fare un metodo get ma x fretta ho preferito far così) poi funziona

codice:
import java.awt.*;
import javax.swing.*;
import javax.swing.table.*;
 
/**
 * @version 1.0 11/09/98
 */
public class ButtonRenderer extends JButton implements TableCellRenderer {
 
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private boolean[] disp;
	
	public ButtonRenderer(MyInternalFrame _frame) {
    	setOpaque(true);
    	disp=_frame.disputata;
    	
  	}
  
	public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
		
		//System.out.println("Row:"+row+"\nColumn:"+ column);
		//System.out.println();
		if (isSelected) {
      		setForeground(table.getSelectionForeground());
      		setBackground(table.getSelectionBackground());
    	} 
    	else{
      		setForeground(table.getForeground());
      		setBackground(UIManager.getColor("Button.background"));
    	}
	
	
		if(disp[row]){
			setText("Giocata");
			this.setEnabled(false);
		}
    	//setText( (value ==null) ? "" : value.toString() );
		else	{
			setText("Calcola");
			this.setEnabled(true);
		}
    	return this;
  	}
}