Ajuda JTable com campo Moeda

Ola!

Depois de muito ler o fórum - outros tuto sobre JTable - não consegui fazer com que minha coluna da JTable que recebe valores inteiros fizesse a seguinte formatação decimal:
de: 1234567 para: 12.345,67. Já tentei Bigdecimal e formatenumber mas nao estou conseguindo montar a lógica, pode me ajudar?

o Campo em questão é o '“paux.getTotal()”

Esse meu codigo.

[code]DefaultTableModel dtm =(DefaultTableModel) jTbAcabamento.getModel();
dtm.setNumRows(0);
for(ProdutoObra paux : po.ListarPO()){
//jtable Acabamento
if(paux.getId_obra()== Integer.parseInt(jTxtCodigo.getText()) && paux.getCod_categoria()== 1){
dtm.addRow(new Object[]{paux.getCodigo(),
paux.getProduto(),
paux.getQuantidade(),
paux.getValor(),
paux.getTotal()
}
);

                            }
                        }

[/code]

Obrigado.

Então, tentei com DecimalFormat mas não rolou:

[code]DecimalFormat df = new DecimalFormat();
df.applyPattern(“R$ #,##0.00”);
DefaultTableModel dtm =(DefaultTableModel) jTbAcabamento.getModel();
dtm.setNumRows(0);
for(ProdutoObra paux : po.ListarPO()){
//jtable Acabamento
if(paux.getId_obra()== Integer.parseInt(jTxtCodigo.getText()) && paux.getCod_categoria()== 1){
String valor = df.format(paux.getValor);
String total = df.format(paux.getTotal);
dtm.addRow(new Object[]{paux.getCodigo(),
paux.getProduto(),
paux.getQuantidade(),
valor,
total
}
);

                            }  
                        }  [/code]

Erro:


Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: Cannot format given Object as a Number
	at java.text.DecimalFormat.format(DecimalFormat.java:505)
	at java.text.Format.format(Format.java:157)
	at javax.swing.plaf.synth.SynthTableUI$SynthTableCellRenderer.configureValue(SynthTableUI.java:803)
	at javax.swing.plaf.synth.SynthTableUI$SynthTableCellRenderer.getTableCellRendererComponent(SynthTableUI.java:790)
	at javax.swing.JTable.prepareRenderer(JTable.java:5731)
	at javax.swing.plaf.synth.SynthTableUI.paintCell(SynthTableUI.java:684)
	at javax.swing.plaf.synth.SynthTableUI.paintCells(SynthTableUI.java:581)
	at javax.swing.plaf.synth.SynthTableUI.paint(SynthTableUI.java:365)
	at javax.swing.plaf.synth.SynthTableUI.update(SynthTableUI.java:276)
	at javax.swing.JComponent.paintComponent(JComponent.java:778)
	at javax.swing.JComponent.paint(JComponent.java:1054)
	at javax.swing.JComponent.paintChildren(JComponent.java:887)
	at javax.swing.JComponent.paint(JComponent.java:1063)
	at javax.swing.JViewport.paint(JViewport.java:731)
	at javax.swing.JComponent.paintChildren(JComponent.java:887)
	at javax.swing.JComponent.paint(JComponent.java:1063)
	at javax.swing.JComponent.paintChildren(JComponent.java:887)
	at javax.swing.JComponent.paint(JComponent.java:1063)
	at javax.swing.JComponent.paintChildren(JComponent.java:887)
	at javax.swing.JComponent.paint(JComponent.java:1063)
	at javax.swing.JLayeredPane.paint(JLayeredPane.java:585)
	at javax.swing.JComponent.paintChildren(JComponent.java:887)
	at javax.swing.JComponent.paint(JComponent.java:1063)
	at javax.swing.JComponent.paintChildren(JComponent.java:887)
	at javax.swing.JComponent.paint(JComponent.java:1063)
	at javax.swing.JComponent.paintChildren(JComponent.java:887)
	at javax.swing.JComponent.paint(JComponent.java:1063)
	at javax.swing.JLayeredPane.paint(JLayeredPane.java:585)
	at javax.swing.JComponent.paintChildren(JComponent.java:887)
	at javax.swing.JComponent.paint(JComponent.java:1063)
	at javax.swing.JComponent.paintChildren(JComponent.java:887)
	at javax.swing.JComponent.paint(JComponent.java:1063)
	at javax.swing.JLayeredPane.paint(JLayeredPane.java:585)
	at javax.swing.JComponent.paintChildren(JComponent.java:887)
	at javax.swing.JComponent.paintToOffscreen(JComponent.java:5228)
	at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1508)
	at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1439)
	at javax.swing.RepaintManager.paint(RepaintManager.java:1236)
	at javax.swing.JComponent.paint(JComponent.java:1040)
	at java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:39)
	at sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:78)
	at sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:115)
	at java.awt.Container.paint(Container.java:1967)
	at java.awt.Window.paint(Window.java:3877)
	at javax.swing.RepaintManager$3.run(RepaintManager.java:807)
	at javax.swing.RepaintManager$3.run(RepaintManager.java:784)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
	at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:784)
	at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:757)
	at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:706)
	at javax.swing.RepaintManager.access$1000(RepaintManager.java:62)
	at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1647)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733)
	at java.awt.EventQueue.access$200(EventQueue.java:103)
	at java.awt.EventQueue$3.run(EventQueue.java:694)
	at java.awt.EventQueue$3.run(EventQueue.java:692)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:703)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
String valor  =    df.format(paux.getValor);  
String total  =    df.format(paux.getTotal);  

paux.getValor ou paux.getTotal não extendem a Classe number… Veja o tipo dessas propriedades e se são do tipo: Integer, Double, Long ou outras class que extendem Number.class

[quote=Rafael_Leal] String valor = df.format(paux.getValor); String total = df.format(paux.getTotal);

paux.getValor ou paux.getTotal não extendem a Classe number… Veja o tipo dessas propriedades e se são do tipo: Integer, Double, Long ou outras class que extendem Number.class[/quote]

Obrigado por responder na verdade é:

String valor  =    df.format(paux.getValor());  
String total  =    df.format(paux.getTotal());  

e são do tipo float.

Na boa, não use float. Use double ou, preferencialmente, BigDecimal.
Com BigDecimal você consegue fazer a formatação e exportar para String.
Como você quer exibir os dados já formatados, sugiro que crie um método que receba o valor do objeto em BigDecimal e devolva a String formatada, vai ser bem mais simples do que tentar “na unha”.

[quote=drsmachado]Na boa, não use float. Use double ou, preferencialmente, BigDecimal.
Com BigDecimal você consegue fazer a formatação e exportar para String.
Como você quer exibir os dados já formatados, sugiro que crie um método que receba o valor do objeto em BigDecimal e devolva a String formatada, vai ser bem mais simples do que tentar “na unha”.[/quote]

Obrigado, irei fazer um teste e posto o resultado.

[quote=Salax][quote=drsmachado]Na boa, não use float. Use double ou, preferencialmente, BigDecimal.
Com BigDecimal você consegue fazer a formatação e exportar para String.
Como você quer exibir os dados já formatados, sugiro que crie um método que receba o valor do objeto em BigDecimal e devolva a String formatada, vai ser bem mais simples do que tentar “na unha”.[/quote]

Obrigado, irei fazer um teste e posto o resultado.[/quote]

Teria algum modelo para me ajudar no desenvolvimento?

obrigado