pessoal como eu jogo um campo BigDecimal em uma JTable e depois formatar a coluna para ###,##0.00 ???
BigDecimal em JTable
C
1 Resposta
L
olá Marcelo, há duas opções nesse caso... formatar antes de lançar ou construir algo na sua classe cell renderer que irá formatar estes valores.
Costumo formatar na cell renderer. Para isso faço da seguinte forma:
Dento do switch das colunas, na coluna respectiva ao BigDecimal coloco label.setText(Formatter.formatBigDecimal((BigDecimal) valor));
e na classe formater faz o seguinte:
public static String formatBigDecimal(BigDecimal value, String mask) {
// Para documentação da máscara: http://java.sun.com/j2se/1.4.2/docs/api/java/text/DecimalFormat.html
if (value == null) return "";
try {
mask = mask.replace(".", ";").replace(",", ".").replace(";", ",") ;
NumberFormatter formatter = new NumberFormatter(new DecimalFormat(mask));
return formatter.valueToString(value);
} catch (ParseException ex) {
ex.printStackTrace();
throw new RuntimeException(ex);
}
}
public static String formatBigDecimal(BigDecimal value) {
return formatBigDecimal(value, "###.###.###.##0,00");
}
Desta forma na apresentação do valor, este ficará como string mesmo, só que na VO associada esta certinho como BigDecimal.
Atenciosamente.
Alcides Liberali
Criado 17 de agosto de 2007
Ultima resposta 17 de ago. de 2007
Respostas 1
Participantes 2
Alura POO: o que é programação orientada a objetos? Aprenda os conceitos básicos da programação orientada a objetos, como classes, objetos, herança, encapsulamento e polimorfismo, com exemplos.
Casa do Codigo Inteligencia Artificial e ChatGPT: Da revolucao dos... Por Fabricio Carraro — Casa do Codigo