Problemas com separadores de casas decimais

Galera to enfrentando um problema serio com o swing e o Java, seguinte eu tenho la um JTextField e eu seto a mascara dele bonitinho, bom quando o usuario entra com os dados e e digta “,” como separador de casas decimais fica tudo legal.So que se eu passo essa valor para um Double.parser por exemplo dá pau pq ele espera um numero com o “.” como separador de casa decimal, bom ai toda hora que eu vou fazer algum tipo de operação la vai eu trocar “,” por “.” e depois destrocar “.” por “,”.Mas meu pior pesadelo esta sendo o JTable por default ele formata doubles como o . como separador de casa e se por acaso eu tentar instalar um outro CellEditor como um JFormatedTextField ele da pau de parser internamente. putz ta foda. Alguem ai tem uma solução ? sera que não vão arrumar isso em versões futuras do jsdk ? porque trabalhar assim e muito problematico e processar dados a toa :? :shock:

falow to no aguardo !!!
:roll:

Use DecimalFormat ou um otro Format para fazer isso pra vc!!!
Ex.:

String x = "1.100,32";
DecimalFormat format = new DecimalFormat("#,##0.00", new DecimalFormatSymbols(Locale.getDefault()));
int i = format.parse(x).intValue();

Tem uma exception ai na brincadeira, mas é basicamente isso… Veja que estou usando os simbolos de separador decimal e de milhar do Locale default, se for pt_BR vai ser vírgula para decimais e ponto para milhar…

Para a Table vc não muda o CellEditor, mude o cellRenderer e use o DecimalFormat para fazer a formatação tbm!

Vc pode usar o método setDefaultRenderer(Double.class, new teuRendere())

Aí, se vc usar o objeto Double e o teu TableModel devolver a classe da coluna corretamente (método getColumnClass(int i)). Seu número será formato utilizando o seu renderer…
Atenção, o DefaultTableModel retorna no método getColumnClass(int i) sempre Object.class

Fallow