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,还可以指定别的颜色。
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,还可以指定别的颜色。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货