A JTable will display whatever data is returned by the getValueAt() method. You can change a cell's appearance using a suitable renderer. You can obtain a copy of the default header renderer, as shown here. This complete example shows how to apply the renderer to the table's first column.