Trazer campos numericos da jTable com Formatacao R$ 1,56 (por exemplo).[resolvido]
9 respostas
leandro.augusto
Bom dia galera, gostaria de saber o seguinte:
tenho dois campos no meu banco de dados um chamado de est_precocusto e outro est_precovenda. ambos com o tipo numeric (16,2).
em seus respectivos textfields no meu metodo atualizar dados coloquei com que aparecam formatado para o usuario com o simbolo de R$ e respectivas virgulas etc. mantendo no banco de dados no formatado 12.99 por exemplo. pois nao aceita virgulas o numeric.
dai quero o seguinte. fazer o mesmo mas para a minha jTable que tem esses mesmos campos. que ao mostrar os dados na tela nela tambem venha formatado com o R$ e respectivas virgulas. como foi feito no textfield. mas nao eswtou conseguindo o fazer.
cara nao entendi isso nao pra te falar a verdade viu… sou iniciante… nao teria uma forma mais clara?
tipo os campos vem do banco de dados postgres nesse formato 123.89 e quero que ao mostrar na jtable apareca ao usuario R123,89. com textfields consigo de boa. mas na JTable ta meio impossivel.
julianofischer
Posta trechos do seu código aí,
pra ficar mais fácil de ajudar.
Como vc tá tentando exibir na tabela?
Como está sendo exibido?
abraços
leandro.augusto
ta ai amigo… ve se da pra entender nao sei colocar da sua forma aki no foruns com os codigos direto vou anezar a imagem q tbm da pra vc ver… tenho q aprender isso tbm aki do forun heheheh
Substituindo < por [ e > por ]
Para isso, você pode selecionar o trecho do código e clicar no botão "Code", ao lados dos botões "Quote" e "List",no editor de texto do fórum.
Coloca aqui pra gente o trecho do código:
try{ //puxando os dados
while(con_estoque.resultset.next()){
...
leandro.augusto
try //puxando os dados
{
while (con_estoque.resultset.next())
modelo.addRow(new Object [] {con_estoque.resultset.getString("est_codigo"),con_estoque.resultset.getString("est_produto"),con_estoque.resultset.getString("est_quantidade"),con_estoque.resultset.getString("est_precocusto"),con_estoque.resultset.getString("est_precovenda")});
con_estoque.resultset.first();
}
catch (SQLException erro)
{
JOptionPane.showMessageDialog(null,"Erro ao listar no JTable "+erro);
}
julianofischer
try //puxando os dados
{
while (con_estoque.resultset.next()){
String strQuantidade = con_estoque.resultset.getString("est_quantidade");
strQuantidade = strQuantidade.replace('.',',');
strQuantidade = "R$ "+strQuantidade;
modelo.addRow(new Object [] {con_estoque.resultset.getString("est_codigo"),con_estoque.resultset.getString("est_produto"),strQuantidade ,con_estoque.resultset.getString("est_precocusto"),con_estoque.resultset.getString("est_precovenda")});
con_estoque.resultset.first();
}
catch (SQLException erro)
{
JOptionPane.showMessageDialog(null,"Erro ao listar no JTable "+erro);
}
leandro.augusto
valeu ai juliano… tanto da tua forma como a da forma de um outro amigo do forun chamado leonardo Crispim deu certo aqui. Agora meus campos na jTable estao formatados de acordo com o proposito que eu queria e que me foi proposto. obrigado a todos.
_fs
A forma adequada para se formatar moedas em Java eh essa:
E se der uma pesquisada sobre JTableModel, vai descobrir formas bem mais bacanas de trabalhar com eles do que utilizando o construtor que recebe arrays bidimensionais.