Setar campos do banco em labell

Estou trabalho para faculdade, pdv de conveniência. estou co duvidas de como setar itens nas suas respectivas labels, consigo printar o produto porem não preenche os outros campos como ID , Qauntidade e valor.

segue anexo o codigo:

BEAN:
// @Override
public int i() {
return getId();
}
//se eu colocar getProduto()+i(); la no pdv sai os doi juntos,
//quero que sai no campo determinado para ele
public String toString() {
return getProduto();
}

public int q(){
    return getQuantidade();
}
public double v(){
    return getValor();
}

DAO: metodo ResultSet

public List RST(String produto){//Pesquisar
Connection con = connectionBancoDados.getConnection();
PreparedStatement stmt = null;
ResultSet rs = null;

    List<produto> produtos = new ArrayList<>();
    
    try {
        stmt = con.prepareStatement("SELECT id, produto, quantidade, valor FROM produto WHERE produto=?");
        stmt.setObject(1, produto);
       
        
        rs = stmt.executeQuery();//faz consulta noo banco e coloca no resultSet
            
            while(rs.next()){
                produto pro = new produto();
                
                pro.setId(rs.getInt("id"));
                pro.setProduto(rs.getString("produto"));
                pro.setValor(rs.getDouble("valor"));
                pro.setQuantidade(rs.getInt("quantidade"));
                produtos.add(pro);
            }
                
    } catch (SQLException ex) {
        Logger.getLogger(produtoDAO.class.getName()).log(Level.SEVERE, null, ex);
    }finally{
        connectionBancoDados.closeConnetion(con, stmt, rs);
    }
    
    return produtos;
}

FRAME Botão de lançar

private void btnlancaProdutoActionPerformed(java.awt.event.ActionEvent evt) {
produtoDAO con = new produtoDAO();
produto pro = new produto();
connectionBancoDados bd = new connectionBancoDados();

    String id = txtId.getText();
    String produto = txtProduto.getText();
    String quantidade = txtQantidade.getText(); 
    
    produtoDAO check = new produtoDAO();
    
      if (check.CHECKPRODUTO(txtProduto.getText())) {
        
        printId.setText(String.valueOf(con.RST(id)));
        printProduto.setText(String.valueOf(con.RST(produto)));
        printQuantdade.setText(String.valueOf(con.RST("quantidade")));
        printPreco.setText(String.valueOf(con.RST("valor")));

// readTable();
}else{
JOptionPane.showMessageDialog(null, “item Não cadastrado!”);
}

}   

Imagem do pdv:

A pesquisa ta fazendo só não esta preenchendo as outras labels, se qlguem poder me ajudar agradeço!