Problemas com JFormattedTextField().getText()

3 respostas
L

Pessoal é o seguinte,

O meu FormattedTextField está funcionando corretamente… o único problema e que quando eu do um getText() nele… sem estar completamente preenchido de acordo com a mascara dele, o valor que o getText() retorna são varios espaços em branco!

O que pode estar acontecendo?

Obrigado desde já.

3 Respostas

renzonuccitelli

Leia na documentação sobre a política da Máscara utilizada. Se não me engano tem COMMIT, PERSIS e outra que nao lembro. Sei que o Persist permite que seu campo seja parcialmente preenchido. Tem outro que se vc preencher errado ele retorna o ultimo valor valido, ou vazia se nao teve ultimo valor válido. Enfim, olhar a documentação da API que vc está utilizando sempre ajuda…

L

hmmmm

Acho que entendi… Obrigado renzonuccitelli.

Mais gostaria de saber onde usar esse PERSIST sera que tem como vc botar um exemplo?

Obrigado

renzonuccitelli

Cara, quando kiser dobre os método de uma classe, coloca no google. Em geral, colocando o nome direito, ele já te volta a documentação, como no teu caso: JFormattedTextField. Se vc nao kiser procurar no Google, pasta ver o pacote da classe que vc importa, que lá já tá até indicado o site.

Logo nas primeiras linhas ele coloca

JFormattedTextField.REVERT Revert the display to match that of getValue, possibly losing the current edit.
JFormattedTextField.COMMIT Commits the current value. If the value being edited isn’t considered a legal value by the AbstractFormatter that is, a ParseException is thrown, then the value will not change, and then edited value will persist.

JFormattedTextField.COMMIT_OR_REVERT Similar to COMMIT, but if the value isn’t legal, behave like REVERT.
JFormattedTextField.PERSIST Do nothing, don’t obtain a new AbstractFormatter, and don’t update the value.
The default is JFormattedTextField.COMMIT_OR_REVERT, refer to setFocusLostBehavior(int) for more information on this.

Ou seja, ele fala como mudar e já coloca o método. Pega o teu Campos e testa com todas as 4 políticas que ele colocou, como por exemplo o primeiro:

seuCampoFormatado.seFocusLostBehavior(JFormattedTextField.COMMIT_OR_REVERT);

Aí, além de ver a descrição, vc vê como cada política funciona…

Criado 23 de janeiro de 2009
Ultima resposta 23 de jan. de 2009
Respostas 3
Participantes 2