AbstractTableModel - alterar a classe da coluna em tempo de execução!

Bom dia, galerinha do GUJ!
Tudo bem?

Tô com um problema sério aqui!
Estou fazendo um controle de reservas de horários. Faço uma consulta, retorno meus dados, preencho minha JTable bonitinho. Onde não tem horário reservado fica vazio.
Logo, o getColumnClass só retorna a classe String:

@Override public Class<?> getColumnClass(int columnIndex) { return String.class; }

Agora, a questão é o seguinte:
Onde houver campo vazio, eu quero adicionar ou um JButton ou um JLabel que seja um “link” para outra tela.
Algo do tipo:

HORÁRIO             SEGUNDA         TERÇA          QUARTA     ....
07:00                A12             A21             A12
08:00                A14        [Nova Reserva]       A14
08:50                A14        [Nova Reserva]       A14
09:40           [Nova Reserva]       A23        [Nova Reserva]
...

Agora, quando a célula estiver vazia, como eu faço pra adicionar um JButton ou um JLabel?
Valeu, galera, abraço!