Olá pessoal é o seguinte estou usando o JTableBindig e me deparei com o seguinte problema. Estou trabalhando em uma aplicação onde uso valores monetários, visualmente mostro 10,55 ou 1.000,65 para o usuário mas para salvar essas informações no banco de dados necessito converte-las para BigDecimal dai fica assim: 10.55 e 1000.65, sendo assim quando realizo uma consulta os dados que são mostrados na tabela não estão no formato monetário e não consegui converte-los no JTableBindig como faço nos meus JTextFields. Segue abaixo os métodos que criam a minha JTable:
/**Metodo responsável por preencher as colunas da Tabela com as devidas informações */
public static void preencheColuna(JTableBinding bindgtabela, String campo, String titulo, Object objeto) {
JTableBinding.ColumnBinding colunaAdd = bindgtabela.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${" + campo + "}"));
colunaAdd.setColumnName(titulo);
try {
colunaAdd.setColumnClass(Class.forName(objeto.getClass().getName()));
} catch (Exception exception) {
JOptionPane.showMessageDialog(null, exception.getMessage(), "Erro!", JOptionPane.ERROR_MESSAGE);
}
}
public TableModel CriaTabela(List dados) throws Exception {
JTable tblTemporaria = new JTable();
try {
JTableBinding bindgtabela = SwingBindings.createJTableBinding(AutoBinding.UpdateStrategy.READ_WRITE, dados, tblTemporaria);
FrmConsulta.preencheColuna(bindgtabela, "subgCodigo.gruCodigo.gruDescricao", "Grupo", new String());
FrmConsulta.preencheColuna(bindgtabela, "subgCodigo.subgDescricao", "Subgrupo", new String());
FrmConsulta.preencheColuna(bindgtabela, "prodCodigo", "Código", new Integer(0));
FrmConsulta.preencheColuna(bindgtabela, "prodDescricao", "Produto", new String());
FrmConsulta.preencheColuna(bindgtabela, "prodAplicacao", "Aplicação", new String());
FrmConsulta.preencheColuna(bindgtabela, "prodPrecoCusto", "Preço de Custo", new BigDecimal(0));
FrmConsulta.preencheColuna(bindgtabela, "prodPrecoVenda", "Preço de Venda", new BigDecimal(0));
FrmConsulta.preencheColuna(bindgtabela, "prodEstoqueMinimo", "Estoque Mínimo", new BigDecimal(0));
FrmConsulta.preencheColuna(bindgtabela, "prodEstoqueMaximo", "Estoque Máximo", new BigDecimal(0));
FrmConsulta.preencheColuna(bindgtabela, "prodControlaEstoque", "Contrala Estque?", new String());
bindgtabela.bind();
bindgtabela.setEditable(false);
return tblTemporaria.getModel();
} catch (Exception exception) {
throw new Exception("" + exception.getMessage());
}
}
Já ouvi falar sobre um tal Converter mais não encontrei nada na net. Obrigado.