Listener sur un TextField?

Listener sur un TextField? - Java - Programmation

Marsh Posté le 30-03-2003 à 13:44:00    

J'ai implémenté un Listener sur un TextField pour que le bouton "connect" sois cliquable si le champ login contiens au moin 1 caractère et qu'il sois grisé dans le cas inverse
 

Code :
  1. login.addActionListener(new ActionListener()
  2.                         {
  3.                          public void actionPerformed(ActionEvent event)
  4.                          {
  5.                           if (login.getText().length() > 0)
  6.                            connect.enable();
  7.                           else
  8.                            connect.disable();
  9.                          }
  10.                         }
  11.                        );


 
Seulement voilà le probléme c'est que ce Listener ne se déclanche que si je fait "Enter" sur mon TextField login, je voudrais qu'il se déclanche automatiquement quand je tappe du texte à l'interieur (ou que j'en efface)
Y'a t'il une manière d'implémenter ça?
 
Merci de votre aide

Reply

Marsh Posté le 30-03-2003 à 13:44:00   

Reply

Marsh Posté le 30-03-2003 à 14:17:27    

regarde du côté des KeyListener

Reply

Marsh Posté le 30-03-2003 à 14:38:04    

Merci, je devais en effet me tourner du côté des KeyListener
Ca marche impec maintenant
 

Code :
  1. login.addKeyListener(new KeyListener()
  2.                         {
  3.                          public void keyTyped(KeyEvent event)
  4.                          {
  5.                           if (login.getText().length() > 0 && pass.getText().length() > 0)
  6.                            connect.enable();
  7.                           else
  8.                            connect.disable();
  9.                          }
  10.                          public void keyPressed(KeyEvent event)
  11.                          {
  12.                          }
  13.                          public void keyReleased(KeyEvent event)
  14.                          {
  15.                          }
  16.                         }
  17.                        );

Reply

Marsh Posté le 30-03-2003 à 16:54:02    

Jer a écrit :

Merci, je devais en effet me tourner du côté des KeyListener
Ca marche impec maintenant
 

Code :
  1. login.addKeyListener(new KeyListener()
  2.                         {
  3.                          public void keyTyped(KeyEvent event)
  4.                          {
  5.                           if (login.getText().length() > 0 && pass.getText().length() > 0)
  6.                            connect.enable();
  7.                           else
  8.                            connect.disable();
  9.                          }
  10.                          public void keyPressed(KeyEvent event)
  11.                          {
  12.                          }
  13.                          public void keyReleased(KeyEvent event)
  14.                          {
  15.                          }
  16.                         }
  17.                        );




 
un keyAdaptater t'éviterai de redéfinir des methodes vide
 
                         public void keyPressed(KeyEvent event)
                         {
                         }
                         public void keyReleased(KeyEvent event)
                         {
                         }
 
 :bounce:

Reply

Marsh Posté le 30-03-2003 à 17:53:18    

EpoK a écrit :


 
un keyAdaptater t'éviterai de redéfinir des methodes vide
 
                         public void keyPressed(KeyEvent event)
                         {
                         }
                         public void keyReleased(KeyEvent event)
                         {
                         }
 
 :bounce:  


 
en effet mais de toute manière j'ai eut besoin de la méthode KeyReleased ou j'ai recopié le code contenu dans keyTyped pour déclancher le KeyListener en cas d'appuye sur del, ctrl-x, ctrl-v... (étrangement ça marche pas bien si je met le code dans keyPressed)

Reply

Marsh Posté le 01-04-2003 à 02:39:58    

Jer a écrit :


 
en effet mais de toute manière j'ai eut besoin de la méthode KeyReleased ou j'ai recopié le code contenu dans keyTyped pour déclancher le KeyListener en cas d'appuye sur del, ctrl-x, ctrl-v... (étrangement ça marche pas bien si je met le code dans keyPressed)


normal => API (KeyEvent):

Citation :


 "Key typed" events are higher-level and generally do not depend on the platform or keyboard layout. They are generated when a Unicode character is entered, and are the preferred way to find out about character input. No key typed events are generated for keys that don't generate Unicode characters (e.g., action keys, modifier keys, etc.).
 
"Key pressed" and "key released" events are lower-level and depend on the platform and keyboard layout. They are generated whenever a key is pressed or released, and are the only way to find out about keys that don't generate character input (e.g., action keys, modifier keys, etc.).


CQFD... :o


Message édité par deltaden le 01-04-2003 à 02:40:26

---------------
"La Terre est le berceau de l'humanité, mais on ne passe pas toute sa vie au berceau." - Konstantine Tsiolkovski
Reply

Sujets relatifs:

Leave a Replay

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