|
Setting a renderer |
Top Previous Next |
There are a number of ways to to set a cell renderer.
1. Use JTable's method:
public void setDefaultRenderer(Class c, TableCellRenderer renderer);
Example:
TableCellRenderer cellDateRenderer = new DateRenderer();
table.setDefaultRenderer(Date.class, cellDateRenderer);
2. Assign a cell renderer to a column.
TableColumn column = table.getColumnModel().getColumn(1);
column.setRenderer(new DateRenderer());
3. Override the JTable's method:
public TableCellRenderer getCellRenderer(int row, int column);
to look like:
public TableCellRenderer getCellRenderer(int row, int column) {
if (column == 1) {
return cellDateRenderer;
}
return super.getCellRenderer(row, column);
}
4. Override the JTable's method:
public void addColumn(TableColumn aColumn);
to look like:
public void addColumn(TableColumn aColumn) {
super.addColumn(aColumn);
if (aColumn.getModelIndex() == 1) {
aColumn.setCellRenderer(cellDateRenderer);
}
}