Como eu faço para setar o valor Preco que vem do MYSQL Para usar em Calculos ?

public List<produto> read(){
    
    java.sql.Connection con = ConnectionFactory.getConnection();
    PreparedStatement stmt = null ;
    ResultSet rs = null;
    
    List<produto> Produtos = new ArrayList<>();
    
    try {
        stmt = con.prepareStatement("SELECT * FROM produtos ");
        rs = stmt.executeQuery();
        
        while(rs.next()){
            
            
            
            
            produto produto = new produto();
            produto.setProdutoID(rs.getInt("PRODUTO_ID"));
            produto.setP_nome(rs.getString("NOME"));
            produto.setCodigo_barra(rs.getString("CODIGO_BARRA"));
            produto.setLote(rs.getInt("LOTE"));
            produto.setValidade(rs.getString("VALIDADE"));
            produto.setPreco(rs.getDouble("PRECO"));
            produto.setDesdeEstoque(rs.getString("DESDE_ESTOQUE"));
            
            Produtos.add(produto);
        }

Nessa Classe eu crio um ArrayList com os valores vindos do Mysql

public void ReadJTable(){
DefaultTableModel modelo = (DefaultTableModel) jTable.getModel();

ProdutoDao pdao =   new ProdutoDao();

for(produto p: pdao.read()){
    
    
    modelo.addRow(new Object[]{
    
        
    p.getProdutoID(),
    p.getP_nome(),
    p.getCodigo_barra(),
    p.getLote(),
    p.getValidade(), 
    p.getPreco(),
    p.getDesdeEstoque(),    
    
    
});
}

Eu o Array para a tabela , mas como eu faço para utilizar os valores pegos , principalmente como eu pego o campo Preco para dar um replace e passar a exibir o valor com virgula e com um R$ no inicio ?

Dica: Faça download do componente jNumberField, ele mesmo é responsável por realizar as formatações, tanto da aplicação para o BD como do BD para a aplicação.

Rapaz, tem o JFormattedTextField que permite que você defina um padrão de formatação…

Vejo que muitos recorrem à libs externas pra fazer tarefas relativamente simples e que a própria API nativa te permite fazer. Pesquise sobre as classes NumberFormat e Locale. É possível fazer essa conversão com essas classes, sem recorrer a libs externas.

Eu tô tentando as soluções apresentadas mas até agora nada .

Espera, me dê um exemplo de como seu preço vem do BD.
É algo mais ou menos assim : 19.90 ?

Você quer pegar este valor, e mostra-lo com vírgula ao invés do ponto na jTable? É isso?
Se sim, você deve converter seu valor preço que está em double, para String, através do método String.valueOf().

Seria algo mais ou menos assim:

        ProdutoDao pdao =   new ProdutoDao();
	
	for(produto p: pdao.read()){
	    String v = String.valueOf(p.getPreco()); // aqui você está fazendo a conversão
	    
	    modelo.addRow(new Object[]{
	    
	        
	    p.getProdutoID(),
	    p.getP_nome(),
	    p.getCodigo_barra(),
	    p.getLote(),
	    p.getValidade(), 
	    v.replace(".", ","), // aqui você está colocando o preço com a vírgula
	    p.getDesdeEstoque(),        
	});

Algo +/- assim.
Não testei, mas teste e me diga se funcionou.