Bom dia, galera a situação é a seguinte: Tenho uma JTable onde mostro valores monetários (R$ reais) toda minha manipulação de valores é feita com BigDecimal, porém na hora de mostrar os valores para o usuário na JTable eu converto os valores BigDecimal em Strings no formato monetário. Ex 1000.55 para 1.000,55. O meu problema é que preciso de um RowSorter nessas colunas de valores e preciso ordenar as Strings que estão no formato monetário como se fossem valores em BigDecimal porém a ordenação não ocorre como esperado!
Obrigado.
Você deve usar o método setComparator do seu RowSorter e passar para ele um comparador adequado para sua coluna.
galera ainda não consegui resolver este problema. Alguma Luz?
Ao criar uma classe que implementa Comparator<String>, faça o seguinte:
a) Se você sabe que ambas as strings são no formato numérico “R$ 1.234,56” (por exemplo), use alguma coisa (como um DecimalFormat) para converter o valor para um número.
b) Então compare os números.
c) Retorne o resultado da comparação (-1 se o primeiro for menor que o segundo, 0 se ambos forem iguais, e +1 se o primeiro for maior que o segundo).
Procure aqui no GUJ sobre a implementação de Comparator.
galera encontrei a solução neste post! Valeu
http://www.guj.com.br/posts/list/79110.java