Validação de campo SWING!

7 respostas
rocha

Pessoal alguém pode me dizer como posso fazer uma validação de campo em swing, por exemplo um data, um nº decimal, etc…

Se alguém tiver um exeplo eu agradeço…

Rodrigo Rocha Silva

7 Respostas

Thiago_Senna

dá uma olhada no pacote

java.util.text

Exemplo poderão ser obtidos aqui!!

http://java.sun.com/docs/books/tutorial/uiswing/components/formattedtextfield.html

Ainda há outras maneiras de se validar campos, mas confesso que eu não sei como mexer com elas!!!

Abraços!
Thiago Senna

keller

Você pode usar um JFormattedTextField com um MaskFormatter
e fazer as validadoes com o FocusListener no lostFocus

Da uma pesquisada no forum por JFormattedTextField.
Valeu? Até mais… :wink:

vertuam

Para valores com casa decimal:

JFormattedTextField ValorDeAdm       = new JFormattedTextField(new DecimalFormat("#,###,##0.00"));

Para Datas:

JFormattedTextField DataInicio    = new JFormattedTextField();        
    MaskFormatter formato1 = new MaskFormatter();
        try {
            formato1.setPlaceholderCharacter('_');
            formato1.setMask("##/##/####");
            formato1.install(DataInicio);
            
        }
        catch ( Exception ex ) {
            ex.printStackTrace();
        }

e

import java.text.DecimalFormat.*;
import javax.swing.JFormattedTextField;
import javax.swing.text.NumberFormatter;
import java.text.NumberFormat;

Espero que ajude…

t+

Renato

rocha

Ajudou bastante… e se eu quiser fazer uma verificação para ver se data é válida no ato da digitação?

keller

TextField.getDocument().addDocumentListener();

DocumentListener de uma estudada :thumbup:

rocha

alguém não tem um exemplo par mi dar uma olhada, pois li a documentação e não entendi bem…

keller

Cria-se o Listener

DocumentListener tfDataListener = new DocumentListener(){
    public void changedUpdate(DocumentEvent e){
       System.out.println("1");
    }
    public void insertUpdate(DocumentEvent e){
       System.out.println("2");
    }
    public void removeUpdate(DocumentEvent e){
      System.out.println("3");
    }
}

Aplica-se o Listener

tfData.getDocument().addDocumentListener(tfDataListener);

Valeu? até mais… :wink:

Criado 28 de março de 2005
Ultima resposta 29 de mar. de 2005
Respostas 7
Participantes 4