(JAVA]Empêcher la saisie de lettres dans un TextField

(JAVA]Empêcher la saisie de lettres dans un TextField - Programmation

Marsh Posté le 16-02-2002 à 20:34:02    

Bonjour,
Tout est dans le titre...
 
PS : voilà ce que j'ai fait pour le moment.
 
public void keyTyped(KeyEvent k)
  {  
   if (!Character.isDigit(k.getKeyChar()))
   {
    k.setKeyChar(' ';);
   }  
  }
 
Mais là, j'ajoute un espace dans mon TextField, j'aimerai jsute que rien ne se passe lrosque l'on tape une lettre.
Merci

Reply

Marsh Posté le 16-02-2002 à 20:34:02   

Reply

Marsh Posté le 16-02-2002 à 23:31:52    

en jettant un coup d'oeil dans la javadoc j'ai vu la méthode consume.
 
test ca :
 

Citation :


public void keyTyped(KeyEvent k)  
 {  
  if (! Character.isDigit(k.getKeyChar()))  
  {  
   k.consume()
  }    
 }  


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 17-02-2002 à 01:01:46    

Ou alors au lieu d'un espace un caractère spécial qui n'affiche rien?


---------------
"Colère et intolérance sont les ennemis d'une bonne compréhension." Gandhi
Reply

Marsh Posté le 17-02-2002 à 01:07:40    

La validation à la frappe, ça se fait en implémentant un « DocumentListener » sur le Document du TextField. Il y a une doc là dessus, sur http://java.sun.com/docs/books/tut [...] field.html. C'est dans la section « Creating a Validated Text Field », ce qu'il appellent les « change-validated text fields » (par opposition aux « action-validated text fields », qui sont validés lorsqu'un événement est lancé, par exemple par [Enter]).

 

[jfdsdjhfuetppo]--Message édité par matafan--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 17-02-2002 à 10:58:23    

Ok, ok, merci je regarde tout ça et je vous dit ce qui marche.
Merci beaucoup encore ;)

Reply

Marsh Posté le 17-02-2002 à 23:26:13    

Et en utilisant bêtement la méthode setEditable???? Ca fait pas ce que tu veux??

Reply

Marsh Posté le 17-02-2002 à 23:39:14    

gfive a écrit a écrit :

Et en utilisant bêtement la méthode setEditable???? Ca fait pas ce que tu veux??  




Ahh ! Bon dieu non, allons g(ive-me)five si tu fais

Code :
  1. setEditable(false)

, tu peux plus rien taper ! Le but c'est pas de griser le textField, sinon comment tu déclenche un

Code :
  1. setEditable(true)

?
 
Le mieux, c'est le

Code :
  1. consume

pour la simplicité ou le

Code :
  1. DocumentListener

pour la beauté.


---------------
Le site de ma maman
Reply

Marsh Posté le 17-02-2002 à 23:47:16    

je confirme c'est document listener qu'il faut utiliser, ca se fait très facilement.

Reply

Marsh Posté le 18-02-2002 à 05:48:57    

java t'es trop fort ;)


---------------
What is popular is not always right, what is right is not always popular :D
Reply

Marsh Posté le 18-02-2002 à 08:58:47    

oops, j'avais pas vu qu'on pouvait taper des chiffres, dans le textfield!! :D

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed