Action en direct sur JTextField
Bonsoir !
J'aimerais traiter en direct les caractères rentrés par un utilisateur dans un JTextField. Après pas mal d'effort, j'arrive seulement à avoir la structure de mon action :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
private CaretListener actionParDefaut()
{
return new CaretListener()
{
public void caretUpdate(CaretEvent e)
{
try
{
int testValue = Integer.valueOf(tfNumTren.getText()).intValue();
if (testValue == 2){
tfNumTren.setForeground(Color.blue);
else
{
tfNumTren.setForeground(Color.red);
}
}
catch (Exception ex)
{
if (ex instanceof NumberFormatException)
{
tfNumTren.setForeground(Color.red);
}
}
tfNumTren.repaint();
}
};
} |
J'ai plus ou moins repris ce code des créations de Toedter. J'arrive donc à changer en direct la couleur de mon JtextField.
Je voudrais maintenant bloquer la saisie de caractères autres que des chiffres, mais également récupérer la valeur de ce JTextField sans avoir à appuyer sur la touche "entrée".
Je pense que mon problème est que je ne comprends pas très bien l'usage du catch exception ici....
Merci pour votre aide
Pierro