Estou com dificuldades para formatar a saida desse componente, eu quero mostrar o simbolo de decimal de “,” para “.” mas só aparece o “.” no valor inicial “0.00” se eu uso as flechinhas do Spinner os numeros voltam usando “,” para separar a virgula.
JSpinner spteta = new JSpinner();
JSpinner.NumberEditor editor = new JSpinner.NumberEditor(spteta,"0,00");
DecimalFormat format = editor.getFormat();
//leio conf local
Locale myLocale = new Locale("pt", "BR");
DecimalFormatSymbols decimalSymbol = new DecimalFormatSymbols(myLocale);
// mudo configuracao local
decimalSymbol.setDecimalSeparator('.');
decimalSymbol.setGroupingSeparator(',');
format.setDecimalFormatSymbols(decimalSymbol);
spteta.setEditor(editor);
.
.
.
//adiciono componente ao painel
O JSpinner ou o NumberEditor deveria ter um construtor que aceitasse um NumberFormat - aí você poderia passar um NumberFormat em vez de ficar fazendo essas coisas nojentas (eu tentei umas 6 coisas diferentes até chegar ao resultado acima).
Valeu entanglement! Profissional teu post, fonte, gif do resultado e até link de download :thumbup:
Realmente apesar de gostar muito de programar em Java (programava em C++ e assembler), eu percebo que algumas coisas que do ponto de vista do usuário são simples (mudar o formato de vírgula para ponto é um bom exemplo) e não obstante tem que escrever um “sistema operacional” de código para fazê-lo. E a documentação da Oracle é horrivel, só dá o básico do básico mesmo…
O que nos salva é a comunidade (O GUJ incluso) que é grande e ativa, sempre buscando e discutindo soluções.