Formatação tabela

Pessoal estou com um problema na hora que puxo os dados do banco para a tabela no campo data esta aparecendo assim:

2010/08/13

 public void preenche_jtable()
{
   BD.setResultSet("select * from produto");
   
   DefaultTableModel modelo = (DefaultTableModel) tabela.getModel();
   modelo.setNumRows(0);
   
   try
   {
    BD.resultSet.next();
    //Codigo do custo
    Double custo = BD.resultSet.getDouble("custo");
    String custo_formatado = String.format("R$ % 2f",custo);
    //Codigo da data de compra
    SimpleDateFormat formato = new SimpleDateFormat("dd/MM/yyyy");
    Date data = BD.resultSet.getDate("datacompra");
    String data_formatada = formato.format(data);

    while (BD.resultSet.next())
    //Aqui você adiciona os campos do banco de dados no jTable.
    modelo.addRow(new Object [] {
    BD.resultSet.getString("codigo"),
    BD.resultSet.getString("grupo"),
    BD.resultSet.getString("produto"),
    BD.resultSet.getInt("estoque"),
    BD.resultSet.getDouble("custo"),
    BD.resultSet.getDouble("venda"),
    BD.resultSet.getDate("datacompra"),
    BD.resultSet.getDate("validade"),
    });
    BD.resultSet.first();
   
    }
   catch(SQLException erro) {
          JOptionPane.showMessageDialog(null, "Erro ao listar o jTable "+erro);

   }

}

o codigo para formataçao da data: Não funcionou.

SimpleDateFormat formato = new SimpleDateFormat("dd/MM/yyyy");
    Date data = BD.resultSet.getDate("datacompra");
    String data_formatada = formato.format(data);

ja do preco de custo esta normal codigo abaixo: funcionou, mas nao aparece o cifrao a saida é assim: 10,25 sendo que tem que ser assim: R$ 10,25

 Double custo = BD.resultSet.getDouble("custo");
 String custo_formatado = String.format("R$ % 2f",custo);

Help

olha cara, ja é a segunda vez que vou dizer isso.
Usar DefautTableModel (DTM) é meio ruim, se você aprender a implementar sua própria TableModel seria muito melhor,
e estaria evitando erros. Eu nem li todo o código, so vi na linha 05 do código o DTM.
Então pra evitar outras respostas, vou postar esse link, no qual aprendi a implementar meu proprio TableModel

http://www.javasimples.com.br/swing-awt/death-to-defaulttablemodel-abstracttablemodel-rulez/

bons estudos cara, e outra, dê uma olhada em MVC, para otimizar suas classes de acesso a banco de dados e interfaces gráficas.
um abraço

Siga a dica do companheiro acima, e acesse o link em minha assinatura (créditos ao Vini Godoy) para mais detalhes sobre seu próprio TableModel!

bom dia, realmente vc precisa criar o seu tablemodel, mas o seu erro é que vc formata a data e joga em uma váriavel e a data que vc esta jogando na linha do table não é a variavel e sim a data do banco.