РЕДАКТИРОВАТЬ : я удалил это, потому что я думал, что это не то, что хотел ОП.Я удаляю его по запросу ОП.
У меня есть таблица 8x8, и я хочу закрасить сетку первой и второй ячейки в самой верхней части таблицы красным,Мой вопрос: возможно ли это сделать?
Да, конечно.
Один из способов сделать это - расширить существующий рендер и переопределить getTableCellRendererComponent method.
Например:
public class GridlineCellRenderer extends DefaultTableCellRenderer {
@Override
public Component getTableCellRendererComponent (
JTable table,
Object value,
boolean isSelected,
boolean hasFocus,
int row,
int column
) {
final Component cell = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
if ( row == 0 && (column == 0 || column ==1 ) {
cell.setBackground( Color.RED );
}
return cell;
}
}
Затем вам нужно предупредить JTable, что вы хотите использовать этот рендерер для определенных типов данных.
Например, если выЕсли вы хотите использовать это для ячеек, содержащих Integer, должно работать следующее:
JTable myJTable = ...
myJTable.setDefaultRenderer(Integer.class, new GridlineCellRenderer() );