I was doing research into JDNC for a project this week and came across their use of a HighlighterPipeline. I've worked on applications that have quite sophisticated cell renderers. In the past I've always had abstract or base classes that I've extended. JDNC seems to have a better option. Basically, rendering is broken up into a series of Highlighters. One might set the background color of odd rows to gray. Another might set negative values to have a foreground color of red. The rendering process is then executed as follows:
1. A renderer is generated for a cell.
2. If a pipeline exists it is applied to the renderer.
3. Each highlighter in the pipeline is applied to the renderer in order.
4. The renderer is used to paint the cell for the table.
The main issue I see with this pattern is order of operations. However, you are going to get that with any decorator type pattern.
I think it would also be worth while to create a larger decorator layer that included mouse and key input handlers. This would let you apply functionality to the table not just rendering.