Simultanément mise à jour de zone de texte lors de la saisie dans un champ texte
Je veux mettre à jour mon texte avec le tapant dans le champ de texte, mais je reçois un délai de 1 de frappe lors de la saisie je.e lorsque j'appuie sur une touche de la clé précédente est affichée.Voici mon extrait de
private void jTextField1KeyTyped(java.awt.event.KeyEvent evt)
{
String a = jTextField1.getText();
jTextArea1.setText(a);
}
Vous modifiez la accepté de répondre plus souvent que le vent change de direction.
en fait, je voulais accepter à la fois les réponses mais je ne pouvais pas alors maintenant, enfin je m'en tiens à 1.
Pas de problème, c'était juste drôle de voir que vous avez modifié la accepté de répondre à 4 fois.
Je sais, mais je suis familier maintenant.
en fait, je voulais accepter à la fois les réponses mais je ne pouvais pas alors maintenant, enfin je m'en tiens à 1.
Pas de problème, c'était juste drôle de voir que vous avez modifié la accepté de répondre à 4 fois.
Je sais, mais je suis familier maintenant.
OriginalL'auteur harry4 | 2012-10-01
Vous devez vous connecter pour publier un commentaire.
Je vous déconseille d'utiliser
KeyListeners
Il suffit d'ajouter un
DocumentListener
à votreJTextField
via:À l'intérieur de chacune des méthodes (
insertUpdate
,removeUpdate
etchangedUpdate
), il suffit de mettre dans un appel à l'ensemble du texte de votreJTextArea
viasetText()
:Voici un exemple que j'ai fait:
Le principal avantage est
KeyListener
ne fonctionnera pas si vous coller ou couper du texte, où, comme unDocumentListener
volonté.merci beaucoup ça a aidé
+1 doclistener est le chemin à parcourir
OriginalL'auteur David Kroukamp
Vous devriez le faire que sous la
keyReleased
de l'événement au lieu de lekeyTyped
et il va fonctionner que vous en avez besoin.OriginalL'auteur Dan D.
Vous devez attendre jusqu'à l'événement sur votre TextField est traitée avant de mettre à jour le TextArea. Votre code de mise à jour de la TextArea avant le TextField est effectué le nouveau caractère tapé. D'où le texte dans le TextArea est une frappe derrière.
Parce que c'est l'événement que vous travaillez avec, il n'a pas d'importance en terme de temps. Dan réponse est exactement ce que j'avais à l'esprit, l'événement de la prise de la frappe de mise à jour de la TextField est traitée à la fois keyReleased est appelé.
est ce que vous étiez en train de dire
OriginalL'auteur Jonathan Drapeau
Vous pouvez essayer d'utiliser la récursivité par la référence à la méthode à l'intérieur de la méthode (éviter les boucles).
OriginalL'auteur AqueousSnake