public class StyleTable extends JTable {
  public StyleTable() {}
  public void paintRow() {
    TableColumnModel tcm = this.getColumnModel();
    for (int i=0, n=tcm.getColumnCount();i<n;i++) {
      TableColumn tc = tcm.getColumn(i);
      tc.setCellRenderer(new RowRenderer);
    }
  }  class RowRenderer extends DefaultTableCellRenderer {
    public Component getTableCellRendererComponent (JTable t, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
    if (row%2==0)
      setBackground(Color.blue);
    else
      setBackground(Color.green);
    return super.getTableCellRendererComponent(t, value, isSelected, hasFocus, row, column)
    }
  }
}表的单数行和偶数行以不同底色显示,如果要改变这个逻辑,修改RowRenderer,还可以指定别的颜色。