Ich persönlich würde es nicht so lösen.
Eine Möglichkeit die ich besser finde, man schreibt sich einen Renderer der andere Renderer aufnehmen kann.
[code=Java]
import java.awt.Color;
import java.awt.Component;
import javax.swing.JTable;
import javax.swing.table.TableCellRenderer;
public class WrappingCellRenderer implements TableCellRenderer {
private TableCellRenderer wrappedCellRenderer;
public WrappingCellRenderer(TableCellRenderer cellRenderer) {
super();
this.wrappedCellRenderer = cellRenderer;
}
@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
Component rendererComponent = wrappedCellRenderer.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
if(row % 2)
rendererComponent.setBackground(Color.GRAY);
else
rendererComponent.setBackground(Color.WHITE );
return rendererComponent;
}
}
[/code]
[code=Java]
table.setDefaultRenderer(Object.class, new WrappingCellRenderer(table.getDefaultRenderer(Object.class)));
[/code]
Gruß
zerix