Nome das colunas nao aparece no JTable

Ainda não descobri porque o nome das colunas não estão aparecendo na minha JTable. Vou colocar o código do TableModel. Agradeço antecipadamente quem conseguir descobrir o problema.

[code]public class TableModelOrcamento extends TableModelPadrao {

private List<Orcamento> orcamentos;

public int getRowCount() {
	return orcamentos.size();
}

public Object getValueAt(int rowIndex, int columnIndex) {
	switch (columnIndex) {
		case 0: return orcamentos.get(rowIndex).getData(); 
		case 1: return orcamentos.get(rowIndex).getValorTotal();
		default: return null;
	} 
}

public void setOrcamentos(List<Orcamento> orcamentos) {
	this.orcamentos = orcamentos;
}

public List<Orcamento> getOrcamentos() {
	return orcamentos;
}

@Override
protected String[] criarColunas() {
	return new String[]{"Data", "Total"};
}

}

public abstract class TableModelPadrao extends AbstractTableModel {

protected String[] colunas;

public TableModelPadrao() {
	setColunas(criarColunas());
}

public int getColumnCount() {
	return colunas.length;
}	

public boolean isCellEditable(int row, int col) {
	return false;
}	

public Class getColumnClass(int c) {
    return getValueAt(0, c).getClass();
}		

public String getColumnName(int col){
	return colunas[col];
}

public String[] getColunas() {
	return colunas;
}

public void setColunas(String[] colunas) {
	this.colunas = colunas;
}

protected abstract String[] criarColunas();

}[/code]

vc está adicionando sua JTable dentro de um JScrollPane ?

TableModel m = new DefaultTableModel();
JTable t = new JTable(m);
JScrollPane p = new JScrollPane(t);
contentPane.add(p);

Sim, estou.

private JComponent construirPainelCentral() { JTable tabela = new JTable(this.tableModel); JScrollPane scrollpane = new JScrollPane(tabela); tabela.setPreferredSize(new Dimension(600,480)); return tabela; }

Oi, realmente estava errado. Obrigado.
Fiz essa correção:

private JComponent construirPainelCentral() { JTable tabela = new JTable(this.tableModel); tabela.setPreferredSize(new Dimension(600,480)); JScrollPane scrollpane = new JScrollPane(tabela); return scrollpane; }

Mas não entendi o por que disso. Qual o problema em não adicionar o JscrollPane com o nome das colunas? É obrigatório a inclusão do JscrollPane?

O JScrollPane serve pra mostrar uma parte de um componente grande, gernciando bem legal a parte de renderização e utilização da memoria. Quando vc usa a Jtable, o scrollpane controla a vizualização da jtable ( linhas e colunas ). Logo, sobra para o scrollpane cotrolar tambem o header ( nome das colunas ).
Fica meio que obrigatorio o uso da JTable dentro de um JScrollPane.
Experimente criar um JPanel e usar o JScrollPane para exibi-lo num espaço menor do que o proprio pane criado ( aka colocar scrollbar para rolar a tela para baixo ).

retirado do javadoc:

Valeu galera, não foi eu que postei esta discursão mas me ajudou muito, obrigadooooooo.