KeyTyped [Résolu]

Signaler
Messages postés
5
Date d'inscription
jeudi 26 juillet 2012
Statut
Membre
Dernière intervention
30 juillet 2012
-
Messages postés
5
Date d'inscription
jeudi 26 juillet 2012
Statut
Membre
Dernière intervention
30 juillet 2012
-
Bonjour,

Voici mon problème :

Je dois renseigner une zone numérique d'un écran en fonction de ce que je tape comme montant dans une seconde zone.
J'ai tenté d'utiliser la méthode keyTyped mais je ne récupère que le premier caractère tapé.
Pourriez-vous m'aiguiller?
Merci d'avance
A voir également:

6 réponses

Messages postés
5
Date d'inscription
jeudi 26 juillet 2012
Statut
Membre
Dernière intervention
30 juillet 2012

Bonjour,

J'ai fait comme ceci:

// AJOUT DES LISTENERS
this.mntDetteNf.addKeyListener(new KeyListener()
{
public void keyPressed(KeyEvent e) {}
public void keyReleased(KeyEvent e) {
this_keyReleased(e);
}
public void keyTyped(KeyEvent e) {
}
});

La méthode :
protected void this_keyReleased(KeyEvent e) {

boolean montant = ((comp.compare(this.getMontantDette(),
this.getMontantPreleve()) <= 0) && (!comp.isZero(this.getMontantDette())));
if (montant) {
this.mntPreleveNf.setValue(this.getMontantDette());
}
else {
this.mntPreleveNf.setValue(this.getMontantPreleveInitial());
}
}

Salut,

J'ai tenté d'utiliser la méthode keyTyped mais je ne récupère que le premier caractère tapé


Là comme ça il nous faudrait le code de ta méthode keyTyped ainsi que celui qui gère les différents composants concernés. De cette façon ce sera plus facile de trouver où est le problème.


--
Pylouq
Heureux sont ceux qui lisent le Réglement, ils ne finiront peut-être pas au bûcher.
Messages postés
5
Date d'inscription
jeudi 26 juillet 2012
Statut
Membre
Dernière intervention
30 juillet 2012

Merci pour votre réponse:

Le code se trouve dans un ActionPanel:

Les 2 zones concernées sont définies comme suit :

protected UTJNumericFieldP mntDetteNf = new UTJNumericFieldP();
protected UTJNumericFieldP mntPreleveNf = new UTJNumericFieldP();

Dans la méthode initIHM() j'ai défini ceci :
// AJOUT DES LISTENERS
this.mntDetteNf.addKeyListener(new KeyListener()
{
public void keyPressed(KeyEvent e) {}
public void keyReleased(KeyEvent e){}
public void keyTyped(KeyEvent e) {
this_keyTyped(e);
}
});

Et enfin la méthode :

protected void this_keyTyped(KeyEvent e) {
Comparator comp = new Comparator();
if (this.mntDetteNf.getText().length() == 0) {
this.mntPreleveNf.setValue(this.getMontantPreleveInitial());
}
else {
this.mntPreleveNf.setValue(this.getMontantDette());
}
}

Lors de mon test si je renseigne 145 dans la zone mntDette, j'obtiens dans la zone mntPreleve : 1,00.

Encore merci pour votre aide.
Messages postés
5
Date d'inscription
jeudi 26 juillet 2012
Statut
Membre
Dernière intervention
30 juillet 2012

Une erreur dans mon précédent message il s'agit du code d'un FunctionPanel et non d'un ActionPanel.
Messages postés
5
Date d'inscription
jeudi 26 juillet 2012
Statut
Membre
Dernière intervention
30 juillet 2012

Bonjour,

Je viens de résoudre mon problème.
Merci

Salut,

Tant mieux alors ! Mais ce serait bien pour tout le monde que tu expliques comment tu l'as résolu (même brièvement) et que tu postes le code concerné. Une fois fait, clique sur "Réponse Acceptée" pour clore le sujet :)


--
Pylouq
Heureux sont ceux qui lisent le Réglement, ils ne finiront peut-être pas au bûcher.