【发布时间】:2020-08-06 07:18:43
【问题描述】:
这是我的问题 我读取数据库并通过渲染器显示数据。显示的数据必须居中,bgcolor必须根据单元格的值变化。
下面是渲染器。第一个 table.getColumnModel() 显示居中的值,第二个调用客户渲染器来更改颜色。如果我删除第二次通话的评论,我会得到 bgcolor 但不是居中的值,反之亦然
for (int row = 0; row < table.getColumnCount(); row++) {
DefaultTableCellRenderer centerRenderer = new DefaultTableCellRenderer();
centerRenderer.setHorizontalAlignment(JLabel.CENTER);
table.getColumnModel().getColumn(row).setCellRenderer(centerRenderer);
//table.getColumnModel().getColumn(row).setCellRenderer(new CustomRenderer());
}
这是自定义渲染器
class CustomRenderer extends DefaultTableCellRenderer
{
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)
{
Component cellComponent = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
if(table.getValueAt(row, column).equals("A")){
cellComponent.setBackground(Color.YELLOW);
} else if(table.getValueAt(row, column).equals("B")){
cellComponent.setBackground(Color.GRAY);
}
else {cellComponent.setBackground(Color.white);}
return cellComponent;
}
}
如何获得彩色和中心单元格? 比你 啪啪啪
【问题讨论】: