我有一个包含 |列的表格名称|开始|完成|时间|放置|点数| 我希望在按时间排序表时保持地点和点分离。如果不创建两个表,有没有办法做到这一点?
答案 0 :(得分:0)
所以,我想通过共享TableCellRenderer建议使用this link作为地方和点数列。
首先,我创建了CustomTableCellRenderer并使用此方法设置值:
public class CustomCellRenderer extends JLabel implements TableCellRenderer{
...
@Override
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
if(column==this.columnPlace){
// set Place
setText(Integer.toString(row+1));
}
else{
// set Points depending on competitorsCount and row
setText(Integer.toString(points[competitorsCount-1][row]));
}
return this;
}
}
然后我为这些列设置了这个自定义渲染器:
CustomCellRenderer customRenderer = new CustomCellRenderer(competitorsCount);
customRenderer.setHorizontalAlignment(JLabel.CENTER);
tableColumnModel.getColumn(columnPlace).setCellRenderer(customRenderer);
tableColumnModel.getColumn(columnPoints).setCellRenderer(customRenderer);