Como limpar jformattedtext
[Resolvido] Jformatted
3 Respostas
cara se nao me engano esse componente tem um verify que da o format no texto digitado no formato desejato após o focuslost do componente
e esse verify é um metodo do tipo boolean q retorna false caso tenha tenha lançado um thow de que a String nao pode ser formatada e caso
seja false ele nao da o set no value do componente deixando ele com o valor anterior.
como no seu caso vc esta utilizando uma mascada de “##:##:##” quando o cara digita só o primeiro ## os outros vao com espaço logo retorna um false no verify do converter do componente e ele nao seta o novo valor.
vc pode por um MaskFormatter no Componente deixando ele por padrao ’ : : ’
ex
MaskFormatter mascaracpf = new MaskFormatter("##:##:##");
JFormattedTextField cpf = new JFormattedTextField(mascaracpf);
Bom… acho que é isso…
mais informações sobre como ele formata o texto da uma olhada na especificação:
http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/JFormattedTextField.html
Já resolvi o problema adicionando o seguinte
Clicar em com o botão esquerdo em cima do jformatted Events-> Focus -> FocusLost
Adicionar a seguinte linha
jFormattedTextField1.setFocusLostBehavior(JFormattedTextField.COMMIT);
jFormattedTextField1.setValue(null);