Buongiorno a tutti,
vi chiudo aiuto per gestire una JTextField. Sto cercando di impedire l'inserimento nella textfield di tutto ciò diverso da un non carattere(@ , \ - ..ecc).
Quello che vorrei fare, è impedire di stampare nella casella i caratteri diversi da quelli previsti, oppure visualizzare un messaggio e alla chiusura del messaggio avere la casella vuota.
Riesco a gestire l'evento con la visualizzazione del messaggio, ma dopo la chiusura del messaggio, il carattere digitato viene stampato nella casella.
Ho fatto alcuni tentativi per cancellare il contenuto della casella, ma dopo la chiusura del messaggio mi va in errore.
Sto provando con una JFormattedTextField, ma non riesco ad adattarla al mio codice.
Potreste darmi qualche suggerimento?
Grazie a tutti.
Riporto la porzione del codice dove gestisco l'evento con la JTextField.
vi chiudo aiuto per gestire una JTextField. Sto cercando di impedire l'inserimento nella textfield di tutto ciò diverso da un non carattere(@ , \ - ..ecc).
Quello che vorrei fare, è impedire di stampare nella casella i caratteri diversi da quelli previsti, oppure visualizzare un messaggio e alla chiusura del messaggio avere la casella vuota.
Riesco a gestire l'evento con la visualizzazione del messaggio, ma dopo la chiusura del messaggio, il carattere digitato viene stampato nella casella.
Ho fatto alcuni tentativi per cancellare il contenuto della casella, ma dopo la chiusura del messaggio mi va in errore.
Sto provando con una JFormattedTextField, ma non riesco ad adattarla al mio codice.
Potreste darmi qualche suggerimento?
Grazie a tutti.
Riporto la porzione del codice dove gestisco l'evento con la JTextField.
Codice:
textField.getDocument().addDocumentListener(new DocumentListener(){
@Override
public void changedUpdate(DocumentEvent e) {
}
@Override
public void insertUpdate(DocumentEvent e) {
String n="\\W+";
Pattern p=Pattern.compile(n);
Matcher m=p.matcher(textField.getText());
if(!m.matches()){
JOptionPane.showMessageDialog(null, "Non hai inserito un non carattere!!!\n"
,
"Inserimento Errato", JOptionPane.WARNING_MESSAGE);
}
}
@Override
public void removeUpdate(DocumentEvent e) {
}
});