Следуя предложению @Steve McLeod, я начал создавать пример кода с той же ошибкой, и только тогда я понял, что внутри одного из моих CellRenderers
@Override
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
log.debug("Building a list for " + row + "," + column);
setListData(((Vector<String>)value).toArray());
setToolTipText("This is a tool tip for " + row + "," + column);
table.setRowHeight(row, Math.max(1, getPreferredSize().height));
Filter filter = (Filter)table.getModel().getValueAt(row, Column.CLASSIFICATION_RESULT.getIndex());
setBackground(filter.getColor());
return this;
}
у меня была строка:
table.setRowHeight(row, Math.max(1, getPreferredSize().height));
и это постоянно меняло линию строки, в то время как другие средства визуализации в той же строке делали то же самое ... поэтому они постоянно стреляли друг в друга.