Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Galera, tenho a seguinte situação: tenho um campo(JTextField) onde o usuário deve inserir um valor monetário. Então, criei uma máscara para o campo com os '.' e ',' separando os números.
Tudo certo até aí, o problema é que quando o usuário seleciona o botão "Salvar" os valores inseridos no campo com essa máscara somem, ou seja, quando eu clico no botão o campo é "limpo".
Meu código está dessa forma:
public Tela{
MaskFormatter mskMoney = new MaskFormatter("###.###.###,##");
mskMoney.setPlaceHolderCharacter('_');
initComponents();
}
--na declaração do JTextField (Código personalizado)
javax.swing.JTextField tfValor = new javax.swing.JFormattedTextField(mskMoney);
--no evento do botão Salvar
String _strValor = tfValor.getText().ToString();
--Exibindo o valor recuperado
JOptionPane.ShowMessageDialog(this, _strValor);
Quando é exibida a caixa de diálogo, o valor da variável está ___.___.___,__
O que será que pode estar acontecendo?
Estou intrigada pois na mesma tela tenho uma máscara para um campo "Data" onde não ocorre esse problema. A máscara da Data é declarada quase da mesma forma:
MaskFormatter mskData = new MaskFormatter("##/##/####");
mskData.setPlaceHolderCharacter('_');
--no TextField (Código personalizado)
javax.swing.JTextFiel tfData = new javax.swing.JFormattedTextField(mskData);
Será que o problema ocorre devido aos '.' e ',' colocados na máscara?
Se alguém puder me ajudar agradeço!!!
Só lembrando que eu uso o NetBeans e a declaração do JTextField é gerada automaticamente e eu só personalizo o código pra receber a máscara...
Carregando comentários...