Cabeçalho JTable não mostrando

Cabeçalho JTable não mostrando ...

Meu cabeçalho do JTable não vai aparecer mesmo se ele for adicionado em um container como o JScrollPane ... diga-me por que isso acontece e como posso consertá-lo ou depurá-lo .. Eu pesquiso na internet e tudo o que eles dizem é adicionar contêiner ao seu jtable, fez mas ainda meu cabeçalho não está aparecendo.

public void table(){

try{

        rs = stat.executeQuery("SELECT * FROM payments;");

        Vector<String> header = new Vector<String>();

        header.add("PAYMENT"); 
        header.add("AMOUNT");
        header.add("MODIFIER");
        header.add("DATE MODIFIED");

        Vector<Vector<Object>> data = new  Vector<Vector<Object>>();

        while(rs.next()) {

            Vector<Object> row = new Vector<Object>();

            row.add(rs.getString("description"));
            row.add(rs.getString("amount")); 
            row.add(rs.getString("remarks")); 
            row.add(rs.getString("date"));


            data.add(row);

        } // loop

        table = new JTable(data, header);

        JScrollPane scrollPane = new JScrollPane(table);

        panel.add(table);
        panel.add(table.getTableHeader());
        //panel.removeAll();
        //scroll.add(table);
        validate();

    }catch(Exception e){
        System.out.println("Error in table: "+e);
    }//try and catch

}

questionAnswers(2)

yourAnswerToTheQuestion