do you mean I should check "renderButton.isEnabled()"
No. A renderer is shared by all cells in the column so the render button state is always reset by the table before rendering of the cell is done so all cells can be rendered the same. You are then adding custom logic for a specific cell.
I think I figured it out. I need to use "table.isCellEditable(row,column)", right?
Correct.
what is the default color for a disabled JButton
I don't think, you need to know. If you just make the button disabled, the button should paint itself in the disabled state. There should be no need to play with the foreground/background
However, in general you can use the UIManager to determine some of the components defaults. Check out:
UIManager Defaults.