Empêcher la saisie de certaines caractères dans un JTextField
JTextField est un composant Swing, il doit donc y avoir un objet listener pour qu’il soit utile. Vous pouvez ajouter le listener KeyListener pour empêcher l’utilisateur de saisir des caractères spéciaux, des espaces, des nombres, etc dans un JTextField.
[wx_adsense]

Exemple:
JTextField textField = new JTextField(15);
textField.addKeyListener(new KeyAdapter() {
public void keyTyped(KeyEvent e) {
char c = e.getKeyChar();
if(!(Character.isAlphabetic(c) || (c==KeyEvent.VK_BACK_SPACE) || c==KeyEvent.VK_DELETE )) {
e.consume(); // ignorer l'événement
}
}
});
Ici, nous ignorons l’événement capturé si il s’agit d’un caractère spécial, espace, ou un nombre.
Exemple Complet:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Test extends JFrame
{
public static void main(String[]args){
new Test().initComponent();
}
public void initComponent() {
setLayout(new FlowLayout());
JLabel lbl = new JLabel("Entrez un texte: ");
JTextField textField = new JTextField(15);
add(lbl);
add(textField);
textField.addKeyListener(new KeyAdapter() {
public void keyTyped(KeyEvent e) {
char c = e.getKeyChar();
if(!(Character.isAlphabetic(c) || (c==KeyEvent.VK_BACK_SPACE) || c==KeyEvent.VK_DELETE )) {
e.consume(); // ignorer l'événement
}
}
});
setSize(300,70);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
}
Sortie:

[wx_amazon]
