JTable设置单个单元格颜色
今天在写JavaGUI时,想给表格的单个单元格填充颜色,找了好久 好像并没有看到很明确的方法,为了设置单个单元格的颜色,需要重载jTable对象中的prepareRenderer函数,根据单元格的行号和列号,设置对应的单元格。
代码:
String[][] display = {{"a", "b"}, {"c", "d"}};
javax.swing.JTable jTable = new javax.swing.JTable(display, new String[] { "Column1", "Column2"})
{
@Override
public java.awt.Component prepareRenderer(javax.swing.table.TableCellRenderer renderer, int row, int column) {
int modelRow = convertRowIndexToModel(row);
int modelColumn = convertColumnIndexToModel(column);
java.awt.Component comp = super.prepareRenderer(renderer, row, column);
if (!isRowSelected(modelRow)) {
if (modelRow == 1 && modelColumn == 1) //此处加入条件判断
comp.setBackground(java.awt.Color.RED);
else //不符合条件的保持原表格样式
comp.setBackground(generalTable.getBackground());
}
return comp;
}
};